4aa323bd83
The DS1WM driver incorrectly infers the IAS bit (1-wire interrupt active high) from IRQ settings. There are devices that have IAS=0 but still need the IRQ to trigger on a rising edge. With this patch, machines with DS1WM that need IAS=1 have to set .active_high=1 in the ds1wm_platform_data. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Acked-by: Matt Reimer <mreimer@vpop.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
13 lines
428 B
C
13 lines
428 B
C
/* platform data for the DS1WM driver */
|
|
|
|
struct ds1wm_platform_data {
|
|
int bus_shift; /* number of shifts needed to calculate the
|
|
* offset between DS1WM registers;
|
|
* e.g. on h5xxx and h2200 this is 2
|
|
* (registers aligned to 4-byte boundaries),
|
|
* while on hx4700 this is 1 */
|
|
int active_high;
|
|
void (*enable)(struct platform_device *pdev);
|
|
void (*disable)(struct platform_device *pdev);
|
|
};
|