gpio_chip

linux kernel 中, X86架构中的GPIO,一般都会由EC来提供,正常情况下EC和南桥通过LPC总线通信,GPIO会注册成一个PCI设备,都会生成一个gpio_chip。注册进PCI总线中。用户可以操作GPIO的工作状态。

gpio_chip 结构体

struct gpio_chip{
        const char*label;
        struct device *dev;
        struct module *owner;

        int (*request)(struct gpio_chip*chip,
                                                unsigned offset);
        void (*free)(struct gpio_chip *chip,
                                                unsigned offset);

        int (*direction_input)(struct gpio_chip*chip,
                                                unsigned offset);// gpio 输入
        int (*get)(struct gpio_chip*chip,
                                                unsigned offset);
        int (*direction_output)(struct gpio_chip*chip,
                                                unsigned offset,int value);//gpio 输出
        void (*set)(struct gpio_chip *chip,
                                                unsigned offset,int value);

        int (*to_irq)(struct gpio_chip*chip,
                                                unsigned offset);

        void (*dbg_show)(struct seq_file*s,
                                                struct gpio_chip*chip);
        int base;
        u16 ngpio;
        char **names;
        unsigned can_sleep:1;
        unsigned exported:1;
        enum gpio_direction (*get_direction)(struct gpio_chip*chip,
                                                 unsigned offset);
};




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值