Lines Matching defs:offset
45 static int lp3943_gpio_request(struct gpio_chip *chip, unsigned int offset)
51 if (test_and_set_bit(offset, &lp3943->pin_used))
57 static void lp3943_gpio_free(struct gpio_chip *chip, unsigned int offset)
62 clear_bit(offset, &lp3943->pin_used);
65 static int lp3943_gpio_set_mode(struct lp3943_gpio *lp3943_gpio, u8 offset,
71 return lp3943_update_bits(lp3943, mux[offset].reg, mux[offset].mask,
72 val << mux[offset].shift);
75 static int lp3943_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
79 lp3943_gpio->input_mask |= BIT(offset);
81 return lp3943_gpio_set_mode(lp3943_gpio, offset, LP3943_GPIO_IN);
85 struct gpio_chip *chip, unsigned int offset)
90 switch (offset) {
96 offset = offset - 8;
106 return !!(read & BIT(offset));
110 struct gpio_chip *chip, unsigned int offset)
117 err = lp3943_read_byte(lp3943, mux[offset].reg, &read);
121 read = (read & mux[offset].mask) >> mux[offset].shift;
131 static int lp3943_gpio_get(struct gpio_chip *chip, unsigned int offset)
144 if (lp3943_gpio->input_mask & BIT(offset))
145 return lp3943_get_gpio_in_status(lp3943_gpio, chip, offset);
147 return lp3943_get_gpio_out_status(lp3943_gpio, chip, offset);
150 static void lp3943_gpio_set(struct gpio_chip *chip, unsigned int offset, int value)
160 lp3943_gpio_set_mode(lp3943_gpio, offset, data);
163 static int lp3943_gpio_direction_output(struct gpio_chip *chip, unsigned int offset,
168 lp3943_gpio_set(chip, offset, value);
169 lp3943_gpio->input_mask &= ~BIT(offset);