[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220106210134.GB3416@mail.google.com>
Date: Fri, 7 Jan 2022 10:01:34 +1300
From: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@...il.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: realwakka@...il.com, linux-staging@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: pi433: move get version func to where all other
functions are
On Thu, Jan 06, 2022 at 03:04:09PM +0100, Greg KH wrote:
> > --- a/drivers/staging/pi433/pi433_if.c
> > +++ b/drivers/staging/pi433/pi433_if.c
> > @@ -1116,9 +1116,7 @@ static int pi433_probe(struct spi_device *spi)
> > spi->mode, spi->bits_per_word, spi->max_speed_hz);
> >
> > /* Ping the chip by reading the version register */
> > - retval = spi_w8r8(spi, 0x10);
> > - if (retval < 0)
> > - return retval;
> > + retval = rf69_get_chip_version(spi);
>
> This can not fail anymore, like it used to be able to. So I think you
> just broke the functionality for why this call was being made in the
> first place (i.e. ping the chip to see if it was alive, and fail if it
> is not.)
>
I thought that this if statement was somewhat redudant because right
after obtaining the chip version, there is a switch statement that
checks if the value is what we expect or return an error otherwise.
Unfortunately, in the patch file generated the whole switch statement
isn't visible so I admit that it looks funny at first. I will paste the
routine here:
/* Ping the chip by reading the version register */
retval = rf69_get_chip_version(spi);
switch (retval) {
case 0x24:
dev_dbg(&spi->dev, "found pi433 (ver. 0x%x)", retval);
break;
default:
dev_dbg(&spi->dev, "unknown chip version: 0x%x", retval);
return -ENODEV;
}
Let me know if you agree with the approach I've taken, otherwise I am
more than happy to add the original if statement if you think I'm
missing any edge case here.
Once again, thanks for taking the time to review my patch :)
thanks,
Paulo A.
Powered by blists - more mailing lists