12 #include <linux/module.h>
22 #include <linux/slab.h>
32 #define READ_MODE 0x80
69 .name =
"leds-pasic3",
84 dev_dbg(dev,
"DS1WM OWM_EN low (active) %02x\n", c & 0x7f);
96 dev_dbg(dev,
"DS1WM OWM_EN high (inactive) %02x\n", c | 0x80);
102 .reset_recover_delay = 1,
105 static struct resource ds1wm_resources[] __initdata = {
117 static struct mfd_cell ds1wm_cell __initdata = {
119 .enable = ds1wm_enable,
120 .disable = ds1wm_disable,
121 .platform_data = &ds1wm_pdata,
122 .pdata_size =
sizeof(ds1wm_pdata),
154 platform_set_drvdata(pdev, asic);
158 dev_err(dev,
"couldn't ioremap PASIC3\n");
164 asic->
bus_shift = (resource_size(r) - 5) >> 3;
169 ds1wm_resources[0].end = (5 << asic->
bus_shift) - 1;
171 &ds1wm_cell, 1, r, irq,
NULL);
173 dev_warn(dev,
"failed to register DS1WM\n");
177 led_cell.platform_data = pdata->
led_pdata;
182 dev_warn(dev,
"failed to register LED device\n");
190 struct pasic3_data *asic = platform_get_drvdata(pdev);
208 .remove = pasic3_remove,
211 static int __init pasic3_base_init(
void)
216 static void __exit pasic3_base_exit(
void)