Lines Matching refs:pld
27 struct kempld_device_data *pld; member
34 static void kempld_gpio_bitop(struct kempld_device_data *pld, in kempld_gpio_bitop() argument
39 status = kempld_read8(pld, reg); in kempld_gpio_bitop()
44 kempld_write8(pld, reg, status); in kempld_gpio_bitop()
47 static int kempld_gpio_get_bit(struct kempld_device_data *pld, u8 reg, u8 bit) in kempld_gpio_get_bit() argument
51 kempld_get_mutex(pld); in kempld_gpio_get_bit()
52 status = kempld_read8(pld, reg); in kempld_gpio_get_bit()
53 kempld_release_mutex(pld); in kempld_gpio_get_bit()
61 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_get() local
63 return !!kempld_gpio_get_bit(pld, KEMPLD_GPIO_LVL_NUM(offset), offset); in kempld_gpio_get()
69 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_set() local
71 kempld_get_mutex(pld); in kempld_gpio_set()
72 kempld_gpio_bitop(pld, KEMPLD_GPIO_LVL_NUM(offset), offset, value); in kempld_gpio_set()
73 kempld_release_mutex(pld); in kempld_gpio_set()
79 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_direction_input() local
81 kempld_get_mutex(pld); in kempld_gpio_direction_input()
82 kempld_gpio_bitop(pld, KEMPLD_GPIO_DIR_NUM(offset), offset, 0); in kempld_gpio_direction_input()
83 kempld_release_mutex(pld); in kempld_gpio_direction_input()
92 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_direction_output() local
94 kempld_get_mutex(pld); in kempld_gpio_direction_output()
95 kempld_gpio_bitop(pld, KEMPLD_GPIO_LVL_NUM(offset), offset, value); in kempld_gpio_direction_output()
96 kempld_gpio_bitop(pld, KEMPLD_GPIO_DIR_NUM(offset), offset, 1); in kempld_gpio_direction_output()
97 kempld_release_mutex(pld); in kempld_gpio_direction_output()
105 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_get_direction() local
107 if (kempld_gpio_get_bit(pld, KEMPLD_GPIO_DIR_NUM(offset), offset)) in kempld_gpio_get_direction()
113 static int kempld_gpio_pincount(struct kempld_device_data *pld) in kempld_gpio_pincount() argument
117 kempld_get_mutex(pld); in kempld_gpio_pincount()
120 evt_back = kempld_read16(pld, KEMPLD_GPIO_EVT_LVL_EDGE); in kempld_gpio_pincount()
122 kempld_write16(pld, KEMPLD_GPIO_EVT_LVL_EDGE, 0x0000); in kempld_gpio_pincount()
124 evt = kempld_read16(pld, KEMPLD_GPIO_EVT_LVL_EDGE); in kempld_gpio_pincount()
126 kempld_write16(pld, KEMPLD_GPIO_EVT_LVL_EDGE, evt_back); in kempld_gpio_pincount()
128 kempld_release_mutex(pld); in kempld_gpio_pincount()
136 struct kempld_device_data *pld = dev_get_drvdata(dev->parent); in kempld_gpio_probe() local
137 struct kempld_platform_data *pdata = dev_get_platdata(pld->dev); in kempld_gpio_probe()
142 if (pld->info.spec_major < 2) { in kempld_gpio_probe()
152 gpio->pld = pld; in kempld_gpio_probe()
170 chip->ngpio = kempld_gpio_pincount(pld); in kempld_gpio_probe()