From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 6/6] sunxi: axp: Remove non driver-model support from the axp gpio code
Date: Tue, 28 Apr 2015 08:24:16 +0200 [thread overview]
Message-ID: <553F2790.4080507@redhat.com> (raw)
In-Reply-To: <CAPnjgZ127rgDtkASOJtH22FHfZsowXZ5pUu95s9wztFmy9af7A@mail.gmail.com>
Hi Simon,
Thanks for the reviews.
On 28-04-15 05:20, Simon Glass wrote:
> Hi Hans,
>
> On 26 April 2015 at 03:51, Hans de Goede <hdegoede@redhat.com> wrote:
>> Now that all sunxi boards are using driver-model for gpio (*), we can remove
>> the non driver-model support from the axp gpio code, and the glue to call
>> into the axp gpio code from the sunxi_gpio non driver-model code.
>>
>> *) For the regular u-boot build, SPL still uses non driver-model gpio for
>> now, but the SPL never uses axp gpios support and we were already not building
>> axp-gpio support for the SPL.
>>
>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>> ---
>> arch/arm/include/asm/arch-sunxi/gpio.h | 7 -------
>> drivers/gpio/axp_gpio.c | 17 ++++++++---------
>> drivers/gpio/sunxi_gpio.c | 32 --------------------------------
>> 3 files changed, 8 insertions(+), 48 deletions(-)
>>
>> diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
>> index 2d66077..081e7d1 100644
>> --- a/arch/arm/include/asm/arch-sunxi/gpio.h
>> +++ b/arch/arm/include/asm/arch-sunxi/gpio.h
>> @@ -225,11 +225,4 @@ int axp_gpio_init(void);
>> static inline int axp_gpio_init(void) { return 0; }
>> #endif
>>
>> -struct udevice;
>> -
>> -int axp_gpio_direction_input(struct udevice *dev, unsigned offset);
>> -int axp_gpio_direction_output(struct udevice *dev, unsigned offset, int val);
>> -int axp_gpio_get_value(struct udevice *dev, unsigned offset);
>> -int axp_gpio_set_value(struct udevice *dev, unsigned offset, int val);
>> -
>> #endif /* _SUNXI_GPIO_H */
>> diff --git a/drivers/gpio/axp_gpio.c b/drivers/gpio/axp_gpio.c
>> index 17358e6..956bb84 100644
>> --- a/drivers/gpio/axp_gpio.c
>> +++ b/drivers/gpio/axp_gpio.c
>> @@ -25,6 +25,8 @@
>> #error Unknown AXP model
>> #endif
>>
>> +static int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val);
>> +
>> static u8 axp_get_gpio_ctrl_reg(unsigned pin)
>> {
>> switch (pin) {
>> @@ -40,7 +42,7 @@ static u8 axp_get_gpio_ctrl_reg(unsigned pin)
>> return 0;
>> }
>>
>> -int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
>> +static int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
>> {
>> u8 reg;
>>
>> @@ -58,7 +60,8 @@ int axp_gpio_direction_input(struct udevice *dev, unsigned pin)
>> }
>> }
>>
>> -int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val)
>> +static int axp_gpio_direction_output(struct udevice *dev, unsigned pin,
>> + int val)
>> {
>> __maybe_unused int ret;
>> u8 reg;
>> @@ -83,7 +86,7 @@ int axp_gpio_direction_output(struct udevice *dev, unsigned pin, int val)
>> }
>> }
>>
>> -int axp_gpio_get_value(struct udevice *dev, unsigned pin)
>> +static int axp_gpio_get_value(struct udevice *dev, unsigned pin)
>> {
>> u8 reg, val, mask;
>> int ret;
>> @@ -115,7 +118,7 @@ int axp_gpio_get_value(struct udevice *dev, unsigned pin)
>> return (val & mask) ? 1 : 0;
>> }
>>
>> -int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
>> +static int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
>> {
>> u8 reg;
>>
>> @@ -139,7 +142,6 @@ int axp_gpio_set_value(struct udevice *dev, unsigned pin, int val)
>> }
>> }
>>
>> -#ifdef CONFIG_DM_GPIO
>> static const struct dm_gpio_ops gpio_axp_ops = {
>> .direction_input = axp_gpio_direction_input,
>> .direction_output = axp_gpio_direction_output,
>> @@ -164,23 +166,20 @@ struct driver gpio_axp_driver = {
>> .ops = &gpio_axp_ops,
>> .probe = gpio_axp_probe,
>> };
>> -#endif
>>
>> int axp_gpio_init(void)
>> {
>> - __maybe_unused struct udevice *dev;
>> + struct udevice *dev;
>> int ret;
>>
>> ret = pmic_bus_init();
>> if (ret)
>> return ret;
>>
>> -#ifdef CONFIG_DM_GPIO
>> /* There is no devicetree support for the axp yet, so bind directly */
>> ret = device_bind(dm_root(), &gpio_axp_driver, "AXP", NULL, -1, &dev);
>
> Is there really no compatible string you can use?
>
> device_bind_driver(dm_root(), "gpio_axp", "AXP", &dev)
That seems like it is a comment on 5/6 not on this patch which only
removes the #ifdef and #endif lines here.
I did not know I could do something like the above, I'll look into that
for 5/6 and do a v2 of 5/6 I will put a "u-boot" prefix into the compatible
so as to not get any conflicts when we do actually get full devicetree
support for thus in the upstream kernel and dts files.
Since this is really a comment on 5/6 can I have your Reviewed-by for
this one ?
Regards,
Hans
next prev parent reply other threads:[~2015-04-28 6:24 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-26 9:51 [U-Boot] [PATCH v2 0/6] sunxi: Add driver-model support for axp pmic gpio pins Hans de Goede
2015-04-26 9:51 ` [U-Boot] [PATCH v2 1/6] sunxi: axp: Change axp_gpio_foo prototypes to match gpio uclass ops Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-05-02 13:51 ` Ian Campbell
2015-04-26 9:51 ` [U-Boot] [PATCH v2 2/6] sunxi: axp: Move axp pmic register helpers to a separate file Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-05-02 13:52 ` Ian Campbell
2015-04-26 9:51 ` [U-Boot] [PATCH v2 3/6] sunxi: axp: Add support for i2c based PMICs to the pmic-bus helpers Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-05-02 13:53 ` Ian Campbell
2015-04-26 9:51 ` [U-Boot] [PATCH v2 4/6] sunxi: axp: Move axp gpio code to a separate axpi-gpio driver Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-05-02 13:55 ` Ian Campbell
2015-04-26 9:51 ` [U-Boot] [PATCH v2 5/6] sunxi: axp: Add driver-model support to the axp_gpio code Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-05-02 13:56 ` Ian Campbell
2015-04-26 9:51 ` [U-Boot] [PATCH v2 6/6] sunxi: axp: Remove non driver-model support from the axp gpio code Hans de Goede
2015-04-28 3:20 ` Simon Glass
2015-04-28 6:24 ` Hans de Goede [this message]
2015-04-28 13:56 ` Simon Glass
2015-05-02 13:57 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=553F2790.4080507@redhat.com \
--to=hdegoede@redhat.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox