Messages in this thread | | | Subject | Re: [PATCH V4 net-bugfixs] net/ethernet: Update ret when ptp_clock is ERROR | From | Grygorii Strashko <> | Date | Thu, 12 Nov 2020 12:05:25 +0200 |
| |
On 12/11/2020 10:25, Arnd Bergmann wrote: > On Thu, Nov 12, 2020 at 2:48 AM 王擎 <wangqing@vivo.com> wrote: >>>> On Wed, Nov 11, 2020 at 03:24:33PM +0200, Grygorii Strashko wrote: >>> >>> I don't think v1 builds cleanly folks (not 100% sure, cpts is not >>> compiled on x86): >>> >>> ret = cpts->ptp_clock ? cpts->ptp_clock : (-ENODEV); >>> >>> ptp_clock is a pointer, ret is an integer, right? >> >> yeah, I will modify like: ret = cpts->ptp_clock ? PTR_ERR(cpts->ptp_clock) : -ENODEV; > > This is not really getting any better. If Richard is worried about > Kconfig getting changed here, I would suggest handling the > case of PTP being disabled by returning an error early on in the > function, like > > struct am65_cpts *am65_cpts_create(struct device *dev, void __iomem *regs, > struct device_node *node) > { > struct am65_cpts *cpts; > int ret, i; > > if (!IS_ENABLED(CONFIG_PTP_1588_CLOCK)) > return -ENODEV; > > Then you can replace the broken IS_ERR_OR_NULL() path with > a simpler IS_ERR() case and keep the rest of the function readable.
There is proper blocker in am65-cpts.h #if IS_ENABLED(CONFIG_TI_K3_AM65_CPTS) and in Makefile and proper dependency in Kconfig.
config TI_K3_AM65_CPTS tristate "TI K3 AM65x CPTS" depends on ARCH_K3 && OF depends on PTP_1588_CLOCK
But, as Richard mentioned [1], ptp_clock_register() may return NULL even if PTP_1588_CLOCK=y (which I can't confirm neither deny - from the fast look at ptp_clock_register() code it seems should not return NULL)
> >>> Grygorii, would you mind sending a correct patch in so Wang Qing can >>> see how it's done? I've been asking for a fixes tag multiple times >>> already :( >> >> I still don't quite understand what a fixes tag means, >> can you tell me how to do this, thanks. > > This identifies which patch introduced the problem you are fixing > originally. If you add an alias in your ~/.gitconfig such as > > [alias] > fixes = show --format='Fixes: %h (\"%s\")' -s > > then running > > $ git fixes f6bd59526c > produces this line: > > Fixes: f6bd59526ca5 ("net: ethernet: ti: introduce am654 common > platform time sync driver")
correct
> > which you can add to the changelog, just above the Signed-off-by > lines.
[1] https://lore.kernel.org/patchwork/patch/1334067/#1529232 -- Best regards, grygorii
| |