[PATCH 1/2] net: smc911x: Drop redundant CONFIG_SMC911X_16_BIT Kconfig symbol
Ramon Fried
rfried.dev at gmail.com
Tue Jun 29 13:18:06 CEST 2021
On Mon, Jun 28, 2021 at 4:31 PM Andre Przywara <andre.przywara at arm.com> wrote:
>
> The SMC911x Ethernet driver needs to know which accessor functions it
> can use to access the MMIO registers. For that reason we have a Kconfig
> choice between 16 and 32-bit bus width.
>
> Since it's only those two options that we (and the Linux kernel)
> support, and there does not seem to be any evidence of another bus
> width anywhere, limit the Kconfig construct to a simple symbol.
>
> This simplifies the code and allows a later rework to be much easier.
>
> Signed-off-by: Andre Przywara <andre.przywara at arm.com>
> ---
> drivers/net/Kconfig | 17 +++++------------
> drivers/net/smc911x.c | 12 ++----------
> 2 files changed, 7 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
> index 9fc28b149d0..2a7c8f9a7ff 100644
> --- a/drivers/net/Kconfig
> +++ b/drivers/net/Kconfig
> @@ -548,21 +548,14 @@ config SMC911X_BASE
> of the device (I/O space)
> endif #DM_ETH
>
> -choice
> - prompt "SMC911X bus width"
> - default SMC911X_16_BIT
> -
> config SMC911X_32_BIT
> - bool "Enable 32-bit interface"
> -
> -config SMC911X_16_BIT
> - bool "Enable 16-bit interface"
> + bool "Enable SMC911X 32-bit interface"
> + default n
> help
> - Define this if data bus is 16 bits. If your processor
> - automatically converts one 32 bit word to two 16 bit
> - words you may also try CONFIG_SMC911X_32_BIT.
> + Define this if data bus is 32 bits. If your processor use a
> + narrower 16 bit bus or cannot convert one 32 bit word to two 16 bit
> + words, leave this to "n".
>
> -endchoice
> endif #SMC911X
>
> config SUN7I_GMAC
> diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
> index 7b79831c281..d596d96f4b3 100644
> --- a/drivers/net/smc911x.c
> +++ b/drivers/net/smc911x.c
> @@ -48,12 +48,6 @@ static const struct chip_id chip_ids[] = {
>
> #define DRIVERNAME "smc911x"
>
> -#if defined (CONFIG_SMC911X_32_BIT) && \
> - defined (CONFIG_SMC911X_16_BIT)
> -#error "SMC911X: Only one of CONFIG_SMC911X_32_BIT and \
> - CONFIG_SMC911X_16_BIT shall be set"
> -#endif
> -
> #if defined (CONFIG_SMC911X_32_BIT)
> static u32 smc911x_reg_read(struct smc911x_priv *priv, u32 offset)
> {
> @@ -64,7 +58,7 @@ static void smc911x_reg_write(struct smc911x_priv *priv, u32 offset, u32 val)
> {
> writel(val, priv->iobase + offset);
> }
> -#elif defined (CONFIG_SMC911X_16_BIT)
> +#else
> static u32 smc911x_reg_read(struct smc911x_priv *priv, u32 offset)
> {
> return (readw(priv->iobase + offset) & 0xffff) |
> @@ -75,9 +69,7 @@ static void smc911x_reg_write(struct smc911x_priv *priv, u32 offset, u32 val)
> writew(val & 0xffff, priv->iobase + offset);
> writew(val >> 16, priv->iobase + offset + 2);
> }
> -#else
> -#error "SMC911X: undefined bus width"
> -#endif /* CONFIG_SMC911X_16_BIT */
> +#endif /* CONFIG_SMC911X_32_BIT */
>
> static u32 smc911x_get_mac_csr(struct smc911x_priv *priv, u8 reg)
> {
> --
> 2.17.5
>
Reviewed-by: Ramon Fried <rfried.dev at gmail.com>
More information about the U-Boot
mailing list