[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0aa1cebd-be6e-478f-8fb2-8a9072249bd2@gmail.com>
Date: Tue, 18 Mar 2025 22:39:46 +0800
From: "Lucien.Jheng" <lucienx123@...il.com>
To: Daniel Golle <daniel@...rotopia.org>
Cc: linux-clk@...r.kernel.org, andrew@...n.ch, hkallweit1@...il.com,
linux@...linux.org.uk, kuba@...nel.org, davem@...emloft.net,
edumazet@...gle.com, pabeni@...hat.com, ericwouds@...il.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org, joseph.lin@...oha.com,
wenshin.chung@...oha.com, lucien.jheng@...oha.com
Subject: Re: [PATCH v5 net-next PATCH 1/1] net: phy: air_en8811h: Add clk
provider for CKO pin
Hi Daniel
I'll correct those things in the next version,
thank you for the detailed review.
Daniel Golle 於 2025/3/18 下午 09:52 寫道:
> On Tue, Mar 18, 2025 at 09:31:05PM +0800, Lucien.Jheng wrote:
>> EN8811H outputs 25MHz or 50MHz clocks on CKO, selected by GPIO3.
>> CKO clock operates continuously from power-up through md32 loading.
>> Implement clk provider driver so we can disable the clock output in case
>> it isn't needed, which also helps to reduce EMF noise
>>
>> Signed-off-by: Lucien.Jheng <lucienX123@...il.com>
> White-space (tabs vs. spaces) could still be improved. See inline below.
> However, I don't think it's worth another iteration just for that, so
> only should there be comments from other reviewers and you anyway send
> another version, then you can fix that as well.
>
> Other than that:
> Reviewed-by: Daniel Golle <daniel@...rotopia.org>
>
>> ---
>> drivers/net/phy/air_en8811h.c | 95 +++++++++++++++++++++++++++++++++++
>> 1 file changed, 95 insertions(+)
>>
>> diff --git a/drivers/net/phy/air_en8811h.c b/drivers/net/phy/air_en8811h.c
>> index e9fd24cb7270..47ace7fac1d3 100644
>> --- a/drivers/net/phy/air_en8811h.c
>> +++ b/drivers/net/phy/air_en8811h.c
>> @@ -16,6 +16,7 @@
>> #include <linux/property.h>
>> #include <linux/wordpart.h>
>> #include <linux/unaligned.h>
>> +#include <linux/clk-provider.h>
>>
>> #define EN8811H_PHY_ID 0x03a2a411
>>
>> @@ -112,6 +113,11 @@
>> #define EN8811H_POLARITY_TX_NORMAL BIT(0)
>> #define EN8811H_POLARITY_RX_REVERSE BIT(1)
>>
>> +#define EN8811H_CLK_CGM 0xcf958
>> +#define EN8811H_CLK_CGM_CKO BIT(26)
>> +#define EN8811H_HWTRAP1 0xcf914
>> +#define EN8811H_HWTRAP1_CKO BIT(12)
>> +
> Existing precompiler macro definitions use tab characters between the
> macro name and the assigned value, your newly added ones use spaces.
>
>> #define EN8811H_GPIO_OUTPUT 0xcf8b8
>> #define EN8811H_GPIO_OUTPUT_345 (BIT(3) | BIT(4) | BIT(5))
>>
>> @@ -142,10 +148,15 @@ struct led {
>> unsigned long state;
>> };
>>
>> +#define clk_hw_to_en8811h_priv(_hw) \
>> + container_of(_hw, struct en8811h_priv, hw)
>> +
>> struct en8811h_priv {
>> u32 firmware_version;
>> bool mcu_needs_restart;
>> struct led led[EN8811H_LED_COUNT];
>> + struct clk_hw hw;
>> + struct phy_device *phydev;
> The existing struct members are indented with tabs, your newly added
> members use spaces. Not a big deal, but it'd be better to use the same
> style.
Powered by blists - more mailing lists