Lines Matching refs:pld

35 	struct kempld_device_data	*pld;  member
42 static void kempld_gpio_bitop(struct kempld_device_data *pld, in kempld_gpio_bitop() argument
47 status = kempld_read8(pld, reg); in kempld_gpio_bitop()
52 kempld_write8(pld, reg, status); in kempld_gpio_bitop()
55 static int kempld_gpio_get_bit(struct kempld_device_data *pld, u8 reg, u8 bit) in kempld_gpio_get_bit() argument
59 kempld_get_mutex(pld); in kempld_gpio_get_bit()
60 status = kempld_read8(pld, reg); in kempld_gpio_get_bit()
61 kempld_release_mutex(pld); in kempld_gpio_get_bit()
70 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_get() local
72 return kempld_gpio_get_bit(pld, KEMPLD_GPIO_LVL_NUM(offset), offset); in kempld_gpio_get()
79 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_set() local
81 kempld_get_mutex(pld); in kempld_gpio_set()
82 kempld_gpio_bitop(pld, KEMPLD_GPIO_LVL_NUM(offset), offset, value); in kempld_gpio_set()
83 kempld_release_mutex(pld); in kempld_gpio_set()
90 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_direction_input() local
92 kempld_get_mutex(pld); in kempld_gpio_direction_input()
93 kempld_gpio_bitop(pld, KEMPLD_GPIO_DIR_NUM(offset), offset, 0); in kempld_gpio_direction_input()
94 kempld_release_mutex(pld); in kempld_gpio_direction_input()
104 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_direction_output() local
106 kempld_get_mutex(pld); in kempld_gpio_direction_output()
107 kempld_gpio_bitop(pld, KEMPLD_GPIO_LVL_NUM(offset), offset, value); in kempld_gpio_direction_output()
108 kempld_gpio_bitop(pld, KEMPLD_GPIO_DIR_NUM(offset), offset, 1); in kempld_gpio_direction_output()
109 kempld_release_mutex(pld); in kempld_gpio_direction_output()
118 struct kempld_device_data *pld = gpio->pld; in kempld_gpio_get_direction() local
120 return !kempld_gpio_get_bit(pld, KEMPLD_GPIO_DIR_NUM(offset), offset); in kempld_gpio_get_direction()
123 static int kempld_gpio_pincount(struct kempld_device_data *pld) in kempld_gpio_pincount() argument
127 kempld_get_mutex(pld); in kempld_gpio_pincount()
130 evt_back = kempld_read16(pld, KEMPLD_GPIO_EVT_LVL_EDGE); in kempld_gpio_pincount()
132 kempld_write16(pld, KEMPLD_GPIO_EVT_LVL_EDGE, 0x0000); in kempld_gpio_pincount()
134 evt = kempld_read16(pld, KEMPLD_GPIO_EVT_LVL_EDGE); in kempld_gpio_pincount()
136 kempld_write16(pld, KEMPLD_GPIO_EVT_LVL_EDGE, evt_back); in kempld_gpio_pincount()
138 kempld_release_mutex(pld); in kempld_gpio_pincount()
146 struct kempld_device_data *pld = dev_get_drvdata(dev->parent); in kempld_gpio_probe() local
147 struct kempld_platform_data *pdata = dev_get_platdata(pld->dev); in kempld_gpio_probe()
152 if (pld->info.spec_major < 2) { in kempld_gpio_probe()
162 gpio->pld = pld; in kempld_gpio_probe()
180 chip->ngpio = kempld_gpio_pincount(pld); in kempld_gpio_probe()