From: Jerry Ray Date: Tue, 17 Jan 2023 20:57:00 +0000 (-0600) Subject: dsa: lan9303: write reg only if necessary X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=de375aa860fb848eaabc76dce0af2e982630b421;p=linux.git dsa: lan9303: write reg only if necessary As the regmap_write() is over a slow bus that will sleep, we can speed up the boot-up time a bit by not bothering to clear a bit that is already clear. Signed-off-by: Jerry Ray Signed-off-by: David S. Miller --- diff --git a/drivers/net/dsa/lan9303-core.c b/drivers/net/dsa/lan9303-core.c index 66466d50d0156..a4decf42a0024 100644 --- a/drivers/net/dsa/lan9303-core.c +++ b/drivers/net/dsa/lan9303-core.c @@ -915,8 +915,11 @@ static int lan9303_setup(struct dsa_switch *ds) if (ret) return (ret); - reg &= ~LAN9303_VIRT_SPECIAL_TURBO; - regmap_write(chip->regmap, LAN9303_VIRT_SPECIAL_CTRL, reg); + /* Clear the TURBO Mode bit if it was set. */ + if (reg & LAN9303_VIRT_SPECIAL_TURBO) { + reg &= ~LAN9303_VIRT_SPECIAL_TURBO; + regmap_write(chip->regmap, LAN9303_VIRT_SPECIAL_CTRL, reg); + } ret = lan9303_setup_tagging(chip); if (ret)