From: Álvaro Fernández Rojas Date: Mon, 24 Apr 2023 18:10:48 +0000 (+0200) Subject: kernel: ssb: fallback-sprom: optimize struct data X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d5c93d2b85ab86b81c4ef4e6d3855aa1ee2d8123;p=openwrt%2Fstaging%2Fdedeckeh.git kernel: ssb: fallback-sprom: optimize struct data - Remove unneeded mac bytes from struct (it's already present in the SPROM). - Convert devid_override to boolean. Signed-off-by: Álvaro Fernández Rojas --- diff --git a/target/linux/generic/files/drivers/ssb/fallback-sprom.c b/target/linux/generic/files/drivers/ssb/fallback-sprom.c index 93001d20d7..f156522328 100644 --- a/target/linux/generic/files/drivers/ssb/fallback-sprom.c +++ b/target/linux/generic/files/drivers/ssb/fallback-sprom.c @@ -48,8 +48,7 @@ struct ssb_fbs { struct ssb_sprom sprom; u32 pci_bus; u32 pci_dev; - u8 mac[ETH_ALEN]; - int devid_override; + bool devid_override; }; static DEFINE_SPINLOCK(ssb_fbs_lock); @@ -624,8 +623,8 @@ static void ssb_fbs_fixup(struct ssb_fbs *priv, u16 *sprom) } } -static int sprom_override_devid(struct ssb_fbs *priv, struct ssb_sprom *out, - const u16 *in) +static bool sprom_override_devid(struct ssb_fbs *priv, struct ssb_sprom *out, + const u16 *in) { SPEX(dev_id, SSB_SPROM1_PID, 0xFFFF, 0); return !!out->dev_id; @@ -668,7 +667,7 @@ static int ssb_fbs_set(struct ssb_fbs *priv, struct device_node *node) sprom->itssi_bg = 0x00; sprom->boardflags_lo = 0x2848; sprom->boardflags_hi = 0x0000; - priv->devid_override = 0; + priv->devid_override = false; dev_warn(priv->dev, "using basic SPROM\n"); } else { @@ -696,6 +695,7 @@ static int ssb_fbs_probe(struct platform_device *pdev) struct device_node *node = dev->of_node; struct ssb_fbs *priv; unsigned long flags; + u8 mac[ETH_ALEN]; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -708,18 +708,18 @@ static int ssb_fbs_probe(struct platform_device *pdev) of_property_read_u32(node, "pci-bus", &priv->pci_bus); of_property_read_u32(node, "pci-dev", &priv->pci_dev); - of_get_mac_address(node, priv->mac); - if (is_valid_ether_addr(priv->mac)) { - dev_info(dev, "mtd mac %pM\n", priv->mac); + of_get_mac_address(node, mac); + if (is_valid_ether_addr(mac)) { + dev_info(dev, "mtd mac %pM\n", mac); } else { - random_ether_addr(priv->mac); - dev_info(dev, "random mac %pM\n", priv->mac); + random_ether_addr(mac); + dev_info(dev, "random mac %pM\n", mac); } - memcpy(priv->sprom.il0mac, priv->mac, ETH_ALEN); - memcpy(priv->sprom.et0mac, priv->mac, ETH_ALEN); - memcpy(priv->sprom.et1mac, priv->mac, ETH_ALEN); - memcpy(priv->sprom.et2mac, priv->mac, ETH_ALEN); + memcpy(priv->sprom.il0mac, mac, ETH_ALEN); + memcpy(priv->sprom.et0mac, mac, ETH_ALEN); + memcpy(priv->sprom.et1mac, mac, ETH_ALEN); + memcpy(priv->sprom.et2mac, mac, ETH_ALEN); spin_lock_irqsave(&ssb_fbs_lock, flags); list_add(&priv->list, &ssb_fbs_list);