sync hh.org
[hh.org.git] / include / linux / l3 / algo-bit.h
blob3c6eac5fc1020a5e8f3fa16d2aa8c99f12f2aa30
1 /*
2 * linux/include/linux/l3/algo-bit.h
4 * Copyright (C) 2001 Russell King, All Rights Reserved.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License.
10 * L3 Bus bit-banging algorithm. Derived from i2c-algo-bit.h by
11 * Simon G. Vogl.
13 #ifndef L3_ALGO_BIT_H
14 #define L3_ALGO_BIT_H 1
16 #include <linux/l3/l3.h>
18 struct l3_algo_bit_data {
19 void (*setdat) (void *data, int state);
20 void (*setclk) (void *data, int state);
21 void (*setmode)(void *data, int state);
22 void (*setdir) (void *data, int in); /* set data direction */
23 int (*getdat) (void *data);
25 void *data;
27 /* bus timings (us) */
28 int data_hold;
29 int data_setup;
30 int clock_high;
31 int mode_hold;
32 int mode_setup;
33 int mode;
36 int l3_bit_add_bus(struct l3_adapter *);
37 int l3_bit_del_bus(struct l3_adapter *);
39 #endif