[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2b167618-473a-4da1-9c10-cba2b9051381@bootlin.com>
Date: Tue, 27 Aug 2024 09:51:30 +0200
From: Alexis Lothoré <alexis.lothore@...tlin.com>
To: Marek Vasut <marex@...x.de>, linux-wireless@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Adham Abozaeid <adham.abozaeid@...rochip.com>,
Ajay Singh <ajay.kathat@...rochip.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>, Conor Dooley
<conor+dt@...nel.org>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Kalle Valo <kvalo@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>, devicetree@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH v2 2/4] wifi: wilc1000: Fold wilc_get_chipid() into wlan.c
Hello Marek,
On 8/23/24 18:08, Marek Vasut wrote:
> Do not use wilc_get_chipid() outside of wlan.c . Instead, call
> wilc_get_chipid() right after the SDIO/SPI interface has been
> initialized to cache the device chipid, and then use the cached
> chipid throughout the driver. Make wilc_get_chipid() static and
> remove its prototype from wlan.h .
>
> Signed-off-by: Marek Vasut <marex@...x.de>
> ---
> Cc: "David S. Miller" <davem@...emloft.net>
> Cc: Adham Abozaeid <adham.abozaeid@...rochip.com>
> Cc: Ajay Singh <ajay.kathat@...rochip.com>
> Cc: Alexis Lothoré <alexis.lothore@...tlin.com>
> Cc: Claudiu Beznea <claudiu.beznea@...on.dev>
> Cc: Conor Dooley <conor+dt@...nel.org>
> Cc: Eric Dumazet <edumazet@...gle.com>
> Cc: Jakub Kicinski <kuba@...nel.org>
> Cc: Kalle Valo <kvalo@...nel.org>
> Cc: Krzysztof Kozlowski <krzk+dt@...nel.org>
> Cc: Marek Vasut <marex@...x.de>
> Cc: Paolo Abeni <pabeni@...hat.com>
> Cc: Rob Herring <robh@...nel.org>
> Cc: devicetree@...r.kernel.org
> Cc: linux-wireless@...r.kernel.org
> Cc: netdev@...r.kernel.org
> ---
> V2: New patch
> ---
[...]
> +static u32 wilc_get_chipid(struct wilc *wilc)
> +{
> + u32 chipid = 0;
> + u32 rfrevid = 0;
> +
> + if (wilc->chipid == 0) {
> + wilc->hif_func->hif_read_reg(wilc, WILC_CHIPID, &chipid);
If we search for WILC_CHIPID in the whole driver, there are still two places
manually reading this register. Shouldn't those places also benefit from
wilc_get_chipid ?
> + wilc->hif_func->hif_read_reg(wilc, WILC_RF_REVISION_ID,
> + &rfrevid);
> + if (!is_wilc1000(chipid)) {
> + wilc->chipid = 0;
While at it, since you have trimmed the update parameter, it would be nice to
also fix this return value (ie make wilc_getchipid() not return 0 but a real
error code if we can not read the chip id.
Thanks,
Alexis
--
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
Powered by blists - more mailing lists