Re: [PATCH 1/2] gpio: add pin biasing and drive mode to gpiolib

From: Linus Walleij
Date: Wed Apr 20 2011 - 08:19:10 EST


2011/4/18 Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>:

> And for a lot of this stuff that the gpio layer really doesn't want
> internal knowledge of other chunks of the kernel have used models like
> 'get_property/set_property' (eg battery, video4linux etc) so that the mid
> layer can plumb in a conversation between the handle owner and the driver
> without getting involved in the conversation.

I will implement that when I get to consolidare the
plat-nomadik/gpio.c driver. It has custom sleep modes and
stuff noone will be interested in duplicating.

I was thinking of something along the lines of:

int gpio_set_custom(unsigned gpio, unsigned long data);
int gpio_get_custom(unsigned gpio, unsigned long *data);

So like an ioctl() it can pass in/out arbitrary data by
casting to an unsigned long, handling enums, pointers
to structs and the like.

We used this design pattern in the DMA engine, it
works fine for that.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/