On Tue, Sep 27, 2022 at 10:29:46AM +0200, Thomas Bogendoerfer wrote: > On Tue, Sep 27, 2022 at 01:08:35AM -0700, Dmitry Torokhov wrote: > > On September 27, 2022 12:49:53 AM PDT, Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> wrote: > > >On Mon, Sep 26, 2022 at 09:56:08PM -0700, Dmitry Torokhov wrote: > > >> Hi Thomas, > > >> > > >> On Sat, Sep 24, 2022 at 12:46:12PM +0200, Thomas Bogendoerfer wrote: > > >> > On Thu, Sep 22, 2022 at 09:55:40PM -0700, Dmitry Torokhov wrote: > > >> > > This switches vmmc to use gpiod API instead of OF-specific legacy gpio > > >> > > API that we want to stop exporting from gpiolib. > > >> > > > > >> > > Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> > > >> > > --- > > >> > > arch/mips/lantiq/xway/vmmc.c | 22 +++++++++++++--------- > > >> > > 1 file changed, 13 insertions(+), 9 deletions(-) > > >> > > > >> > applied to mips-next. > > >> > > >> My apologies, I screwed up. I thought this patch passed 0day before I > > >> sent it to you, but apparently it has not. > > >> > > >> Here is a fixup (actually cross-compiled this time), or I can send a v2 > > >> incorporating it into the original change. > > > > > >I need a fixup, but this one still fails in my build: > > > > > >/local/tbogendoerfer/korg/linux/arch/mips/lantiq/xway/vmmc.c: In function ‘vmmc_probe’: > > >/local/tbogendoerfer/korg/linux/arch/mips/lantiq/xway/vmmc.c:43:5: error: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘long int’ [-Werror=format=] > > > "failed to request GPIO idx %d: %d\n", > > > ^ > > > > I see, I did not realize PTR_ERR() is actually long. I guess I can introduce a temp variable and use PTR_ERR_OR_ZERO(), but there are a lot of places in the kernel that use %d and PTR_ERR(). I wonder why we can't define PTR_ERR() as (int)(long)ptr or something. > > > > What compiler/version are you using for your builds? > > it's rather old: > > gcc version 6.1.1 20160621 (Red Hat Cross 6.1.1-2) (GCC) OK, I tried the below with gcc 12.1.0 cross-compiler, hopefully this does not trip on 6.1.1. Thanks. -- Dmitry MIPS: Lantiq: vmmc: fix compile break introduced by gpiod patch "MIPS: Lantiq: switch vmmc to use gpiod API" patch introduced compile errors, this patch fixes them. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> --- arch/mips/lantiq/xway/vmmc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/arch/mips/lantiq/xway/vmmc.c b/arch/mips/lantiq/xway/vmmc.c index a1947306ac18..2796e87dfcae 100644 --- a/arch/mips/lantiq/xway/vmmc.c +++ b/arch/mips/lantiq/xway/vmmc.c @@ -29,6 +29,7 @@ static int vmmc_probe(struct platform_device *pdev) struct gpio_desc *gpio; int gpio_count; dma_addr_t dma; + int error; cp1_base = (void *) CPHYSADDR(dma_alloc_coherent(&pdev->dev, CP1_SIZE, @@ -38,14 +39,15 @@ static int vmmc_probe(struct platform_device *pdev) while (gpio_count > 0) { gpio = devm_gpiod_get_index(&pdev->dev, NULL, --gpio_count, GPIOD_OUT_HIGH); - if (IS_ERR(gpio)) { + error = PTR_ERR_OR_ZERO(gpio); + if (error) { dev_err(&pdev->dev, "failed to request GPIO idx %d: %d\n", - gpio_count, PTR_ERR(gpio); + gpio_count, error); continue; } - gpio_consumer_set_name(gpio, "vmmc-relay"); + gpiod_set_consumer_name(gpio, "vmmc-relay"); } dev_info(&pdev->dev, "reserved %dMB at 0x%p", CP1_SIZE >> 20, cp1_base); -- 2.38.0.rc1.362.ged0d419d3c-goog