Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
From: Lee Jones Date: Thu, 17 Jan 2013 10:47:44 + > https://patchwork.kernel.org/patch/1926971/ I'm fine with this: Acked-by: David S. Miller -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
> >> > Some platforms provide clocks which require enabling before the > >> > SMSC911x chip will power on. This patch uses the new common clk > >> > framework to do just that. If no clock is provided, it will just > >> > be ignored and the driver will continue to assume that no clock > >> > is required for the chip to run successfully. > >> > > >> > Cc: Steve Glendinning > >> > Cc: net...@vger.kernel.org > >> > Signed-off-by: Lee Jones > >> > >> Looks all right to me now: > >> Reviewed-by: Linus Walleij > > > > I still need a maintiner Ack for this before I can push it. > > > > Anyone? > > Steve is there sometimes. But I'd ask David Miller to ACK > it if he's OK with the change. > > Yours, > Linus Walleij Hi David, Does this [1] patch look okay to you too? It's the last Ack I require before I can push the set. [1] https://patchwork.kernel.org/patch/1926971/ -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Wed, Jan 9, 2013 at 9:55 AM, Lee Jones wrote: > On Thu, 03 Jan 2013, Linus Walleij wrote: > >> On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones wrote: >> >> > Some platforms provide clocks which require enabling before the >> > SMSC911x chip will power on. This patch uses the new common clk >> > framework to do just that. If no clock is provided, it will just >> > be ignored and the driver will continue to assume that no clock >> > is required for the chip to run successfully. >> > >> > Cc: Steve Glendinning >> > Cc: net...@vger.kernel.org >> > Signed-off-by: Lee Jones >> >> Looks all right to me now: >> Reviewed-by: Linus Walleij > > I still need a maintiner Ack for this before I can push it. > > Anyone? Steve is there sometimes. But I'd ask David Miller to ACK it if he's OK with the change. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Wed, Jan 9, 2013 at 9:55 AM, Lee Jones lee.jo...@linaro.org wrote: On Thu, 03 Jan 2013, Linus Walleij wrote: On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones lee.jo...@linaro.org wrote: Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org I still need a maintiner Ack for this before I can push it. Anyone? Steve is there sometimes. But I'd ask David Miller to ACK it if he's OK with the change. Yours, Linus Walleij -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org I still need a maintiner Ack for this before I can push it. Anyone? Steve is there sometimes. But I'd ask David Miller to ACK it if he's OK with the change. Yours, Linus Walleij Hi David, Does this [1] patch look okay to you too? It's the last Ack I require before I can push the set. [1] https://patchwork.kernel.org/patch/1926971/ -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
From: Lee Jones lee.jo...@linaro.org Date: Thu, 17 Jan 2013 10:47:44 + https://patchwork.kernel.org/patch/1926971/ I'm fine with this: Acked-by: David S. Miller da...@davemloft.net -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On 9 January 2013 09:55, Lee Jones wrote: > On Thu, 03 Jan 2013, Linus Walleij wrote: > >> On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones wrote: >> >> > Some platforms provide clocks which require enabling before the >> > SMSC911x chip will power on. This patch uses the new common clk >> > framework to do just that. If no clock is provided, it will just >> > be ignored and the driver will continue to assume that no clock >> > is required for the chip to run successfully. >> > >> > Cc: Steve Glendinning >> > Cc: net...@vger.kernel.org >> > Signed-off-by: Lee Jones >> >> Looks all right to me now: >> Reviewed-by: Linus Walleij > > I still need a maintiner Ack for this before I can push it. > > Anyone? > > -- > Lee Jones > Linaro ST-Ericsson Landing Team Lead > Linaro.org │ Open source software for ARM SoCs > Follow Linaro: Facebook | Twitter | Blog > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ Reviewed-by: Ulf Hansson -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, 03 Jan 2013, Linus Walleij wrote: > On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones wrote: > > > Some platforms provide clocks which require enabling before the > > SMSC911x chip will power on. This patch uses the new common clk > > framework to do just that. If no clock is provided, it will just > > be ignored and the driver will continue to assume that no clock > > is required for the chip to run successfully. > > > > Cc: Steve Glendinning > > Cc: net...@vger.kernel.org > > Signed-off-by: Lee Jones > > Looks all right to me now: > Reviewed-by: Linus Walleij I still need a maintiner Ack for this before I can push it. Anyone? -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, 03 Jan 2013, Linus Walleij wrote: On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones lee.jo...@linaro.org wrote: Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org I still need a maintiner Ack for this before I can push it. Anyone? -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On 9 January 2013 09:55, Lee Jones lee.jo...@linaro.org wrote: On Thu, 03 Jan 2013, Linus Walleij wrote: On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones lee.jo...@linaro.org wrote: Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org I still need a maintiner Ack for this before I can push it. Anyone? -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ Reviewed-by: Ulf Hansson ulf.hans...@linaro.org -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, 03 Jan 2013, Linus Walleij wrote: > On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones wrote: > > > Some platforms provide clocks which require enabling before the > > SMSC911x chip will power on. This patch uses the new common clk > > framework to do just that. If no clock is provided, it will just > > be ignored and the driver will continue to assume that no clock > > is required for the chip to run successfully. > > > > Cc: Steve Glendinning > > Cc: net...@vger.kernel.org > > Signed-off-by: Lee Jones > > Looks all right to me now: > Reviewed-by: Linus Walleij Great, thanks Linus. Who will take this patch now? -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, 03 Jan 2013, Linus Walleij wrote: On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones lee.jo...@linaro.org wrote: Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org Great, thanks Linus. Who will take this patch now? -- Lee Jones Linaro ST-Ericsson Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones wrote: > Some platforms provide clocks which require enabling before the > SMSC911x chip will power on. This patch uses the new common clk > framework to do just that. If no clock is provided, it will just > be ignored and the driver will continue to assume that no clock > is required for the chip to run successfully. > > Cc: Steve Glendinning > Cc: net...@vger.kernel.org > Signed-off-by: Lee Jones Looks all right to me now: Reviewed-by: Linus Walleij Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning Cc: net...@vger.kernel.org Signed-off-by: Lee Jones --- drivers/net/ethernet/smsc/smsc911x.c | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c index e112877..f9b6bb7 100644 --- a/drivers/net/ethernet/smsc/smsc911x.c +++ b/drivers/net/ethernet/smsc/smsc911x.c @@ -33,6 +33,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include +#include #include #include #include @@ -144,6 +145,9 @@ struct smsc911x_data { /* regulators */ struct regulator_bulk_data supplies[SMSC911X_NUM_SUPPLIES]; + + /* clock */ + struct clk *clk; }; /* Easy access to information */ @@ -369,7 +373,7 @@ out: } /* - * enable resources, currently just regulators. + * enable regulator and clock resources. */ static int smsc911x_enable_resources(struct platform_device *pdev) { @@ -382,6 +386,13 @@ static int smsc911x_enable_resources(struct platform_device *pdev) if (ret) netdev_err(ndev, "failed to enable regulators %d\n", ret); + + if (!IS_ERR(pdata->clk)) { + ret = clk_prepare_enable(pdata->clk); + if (ret < 0) + netdev_err(ndev, "failed to enable clock %d\n", ret); + } + return ret; } @@ -396,6 +407,10 @@ static int smsc911x_disable_resources(struct platform_device *pdev) ret = regulator_bulk_disable(ARRAY_SIZE(pdata->supplies), pdata->supplies); + + if (!IS_ERR(pdata->clk)) + clk_disable_unprepare(pdata->clk); + return ret; } @@ -421,6 +436,12 @@ static int smsc911x_request_resources(struct platform_device *pdev) if (ret) netdev_err(ndev, "couldn't get regulators %d\n", ret); + + /* Request clock */ + pdata->clk = clk_get(>dev, NULL); + if (IS_ERR(pdata->clk)) + netdev_warn(ndev, "couldn't get clock %li\n", PTR_ERR(pdata->clk)); + return ret; } @@ -436,6 +457,12 @@ static void smsc911x_free_resources(struct platform_device *pdev) /* Free regulators */ regulator_bulk_free(ARRAY_SIZE(pdata->supplies), pdata->supplies); + + /* Free clock */ + if (!IS_ERR(pdata->clk)) { + clk_put(pdata->clk); + pdata->clk = NULL; + } } /* waits for MAC not busy, with timeout. Only called by smsc911x_mac_read -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org --- drivers/net/ethernet/smsc/smsc911x.c | 29 - 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/smsc/smsc911x.c b/drivers/net/ethernet/smsc/smsc911x.c index e112877..f9b6bb7 100644 --- a/drivers/net/ethernet/smsc/smsc911x.c +++ b/drivers/net/ethernet/smsc/smsc911x.c @@ -33,6 +33,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME : fmt #include linux/crc32.h +#include linux/clk.h #include linux/delay.h #include linux/errno.h #include linux/etherdevice.h @@ -144,6 +145,9 @@ struct smsc911x_data { /* regulators */ struct regulator_bulk_data supplies[SMSC911X_NUM_SUPPLIES]; + + /* clock */ + struct clk *clk; }; /* Easy access to information */ @@ -369,7 +373,7 @@ out: } /* - * enable resources, currently just regulators. + * enable regulator and clock resources. */ static int smsc911x_enable_resources(struct platform_device *pdev) { @@ -382,6 +386,13 @@ static int smsc911x_enable_resources(struct platform_device *pdev) if (ret) netdev_err(ndev, failed to enable regulators %d\n, ret); + + if (!IS_ERR(pdata-clk)) { + ret = clk_prepare_enable(pdata-clk); + if (ret 0) + netdev_err(ndev, failed to enable clock %d\n, ret); + } + return ret; } @@ -396,6 +407,10 @@ static int smsc911x_disable_resources(struct platform_device *pdev) ret = regulator_bulk_disable(ARRAY_SIZE(pdata-supplies), pdata-supplies); + + if (!IS_ERR(pdata-clk)) + clk_disable_unprepare(pdata-clk); + return ret; } @@ -421,6 +436,12 @@ static int smsc911x_request_resources(struct platform_device *pdev) if (ret) netdev_err(ndev, couldn't get regulators %d\n, ret); + + /* Request clock */ + pdata-clk = clk_get(pdev-dev, NULL); + if (IS_ERR(pdata-clk)) + netdev_warn(ndev, couldn't get clock %li\n, PTR_ERR(pdata-clk)); + return ret; } @@ -436,6 +457,12 @@ static void smsc911x_free_resources(struct platform_device *pdev) /* Free regulators */ regulator_bulk_free(ARRAY_SIZE(pdata-supplies), pdata-supplies); + + /* Free clock */ + if (!IS_ERR(pdata-clk)) { + clk_put(pdata-clk); + pdata-clk = NULL; + } } /* waits for MAC not busy, with timeout. Only called by smsc911x_mac_read -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 4/4 v3] net/smsc911x: Provide common clock functionality
On Thu, Jan 3, 2013 at 12:14 PM, Lee Jones lee.jo...@linaro.org wrote: Some platforms provide clocks which require enabling before the SMSC911x chip will power on. This patch uses the new common clk framework to do just that. If no clock is provided, it will just be ignored and the driver will continue to assume that no clock is required for the chip to run successfully. Cc: Steve Glendinning steve.glendinn...@shawell.net Cc: net...@vger.kernel.org Signed-off-by: Lee Jones lee.jo...@linaro.org Looks all right to me now: Reviewed-by: Linus Walleij linus.wall...@linaro.org Yours, Linus Walleij -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/