Skip to content

Commit 31a78af

Browse files
Bartosz GolaszewskiJiri Kosina
authored andcommitted
HID: mcp2221: use new line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return an integer, allowing to indicate failures. Convert the driver to using them. Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jiri Kosina <jkosina@suse.com>
1 parent 9815a42 commit 31a78af

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

drivers/hid/hid-mcp2221.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,10 @@ static int mcp_gpio_get(struct gpio_chip *gc,
624624
return ret;
625625
}
626626

627-
static void mcp_gpio_set(struct gpio_chip *gc,
628-
unsigned int offset, int value)
627+
static int mcp_gpio_set(struct gpio_chip *gc, unsigned int offset, int value)
629628
{
630629
struct mcp2221 *mcp = gpiochip_get_data(gc);
630+
int ret;
631631

632632
memset(mcp->txbuf, 0, 18);
633633
mcp->txbuf[0] = MCP2221_GPIO_SET;
@@ -638,8 +638,10 @@ static void mcp_gpio_set(struct gpio_chip *gc,
638638
mcp->txbuf[mcp->gp_idx] = !!value;
639639

640640
mutex_lock(&mcp->lock);
641-
mcp_send_data_req_status(mcp, mcp->txbuf, 18);
641+
ret = mcp_send_data_req_status(mcp, mcp->txbuf, 18);
642642
mutex_unlock(&mcp->lock);
643+
644+
return ret;
643645
}
644646

645647
static int mcp_gpio_dir_set(struct mcp2221 *mcp,
@@ -1206,7 +1208,7 @@ static int mcp2221_probe(struct hid_device *hdev,
12061208
mcp->gc->direction_input = mcp_gpio_direction_input;
12071209
mcp->gc->direction_output = mcp_gpio_direction_output;
12081210
mcp->gc->get_direction = mcp_gpio_get_direction;
1209-
mcp->gc->set = mcp_gpio_set;
1211+
mcp->gc->set_rv = mcp_gpio_set;
12101212
mcp->gc->get = mcp_gpio_get;
12111213
mcp->gc->ngpio = MCP_NGPIO;
12121214
mcp->gc->base = -1;

0 commit comments

Comments
 (0)