Message ID | 20211006154426.3222199-2-kuba@kernel.org |
---|---|
State | Superseded, archived |
Headers | show |
Series | net: add a helpers for loading netdev->dev_addr from FW | expand |
Context | Check | Description |
---|---|---|
robh/checkpatch | success |
On Wed, Oct 6, 2021 at 10:45 AM Jakub Kicinski <kuba@kernel.org> wrote: > > Rob suggests to move of_net.c from under drivers/of/ somewhere > to the networking code. > > Suggested-by: Rob Herring <robh@kernel.org> > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > --- > v2: new patch > --- > drivers/of/Makefile | 1 - > net/core/Makefile | 1 + > {drivers/of => net/core}/of_net.c | 0 > 3 files changed, 1 insertion(+), 1 deletion(-) > rename {drivers/of => net/core}/of_net.c (100%) > > diff --git a/drivers/of/Makefile b/drivers/of/Makefile > index c13b982084a3..e0360a44306e 100644 > --- a/drivers/of/Makefile > +++ b/drivers/of/Makefile > @@ -7,7 +7,6 @@ obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o > obj-$(CONFIG_OF_PROMTREE) += pdt.o > obj-$(CONFIG_OF_ADDRESS) += address.o > obj-$(CONFIG_OF_IRQ) += irq.o > -obj-$(CONFIG_OF_NET) += of_net.o > obj-$(CONFIG_OF_UNITTEST) += unittest.o > obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o > obj-$(CONFIG_OF_RESOLVE) += resolver.o > diff --git a/net/core/Makefile b/net/core/Makefile > index 35ced6201814..37b1befc39aa 100644 > --- a/net/core/Makefile > +++ b/net/core/Makefile > @@ -36,3 +36,4 @@ obj-$(CONFIG_FAILOVER) += failover.o > obj-$(CONFIG_NET_SOCK_MSG) += skmsg.o > obj-$(CONFIG_BPF_SYSCALL) += sock_map.o > obj-$(CONFIG_BPF_SYSCALL) += bpf_sk_storage.o > +obj-$(CONFIG_OF_NET) += of_net.o The OF_NET kconfig should move or disappear too. I imagine you can do just: obj-$(CONFIG_OF) += of_net.o > diff --git a/drivers/of/of_net.c b/net/core/of_net.c > similarity index 100% > rename from drivers/of/of_net.c > rename to net/core/of_net.c > -- > 2.31.1 >
On Wed, Oct 06, 2021 at 11:18:19AM -0500, Rob Herring wrote: > On Wed, Oct 6, 2021 at 10:45 AM Jakub Kicinski <kuba@kernel.org> wrote: > > > > Rob suggests to move of_net.c from under drivers/of/ somewhere > > to the networking code. > > > > Suggested-by: Rob Herring <robh@kernel.org> > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > --- > > v2: new patch > > --- > > drivers/of/Makefile | 1 - > > net/core/Makefile | 1 + > > {drivers/of => net/core}/of_net.c | 0 > > 3 files changed, 1 insertion(+), 1 deletion(-) > > rename {drivers/of => net/core}/of_net.c (100%) > > > > diff --git a/drivers/of/Makefile b/drivers/of/Makefile > > index c13b982084a3..e0360a44306e 100644 > > --- a/drivers/of/Makefile > > +++ b/drivers/of/Makefile > > @@ -7,7 +7,6 @@ obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o > > obj-$(CONFIG_OF_PROMTREE) += pdt.o > > obj-$(CONFIG_OF_ADDRESS) += address.o > > obj-$(CONFIG_OF_IRQ) += irq.o > > -obj-$(CONFIG_OF_NET) += of_net.o > > obj-$(CONFIG_OF_UNITTEST) += unittest.o > > obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o > > obj-$(CONFIG_OF_RESOLVE) += resolver.o > > diff --git a/net/core/Makefile b/net/core/Makefile > > index 35ced6201814..37b1befc39aa 100644 > > --- a/net/core/Makefile > > +++ b/net/core/Makefile > > @@ -36,3 +36,4 @@ obj-$(CONFIG_FAILOVER) += failover.o > > obj-$(CONFIG_NET_SOCK_MSG) += skmsg.o > > obj-$(CONFIG_BPF_SYSCALL) += sock_map.o > > obj-$(CONFIG_BPF_SYSCALL) += bpf_sk_storage.o > > +obj-$(CONFIG_OF_NET) += of_net.o > > The OF_NET kconfig should move or disappear too. I imagine you can do just: It is used in a few places: net/ethernet/litex/Kconfig: depends on OF_NET net/ethernet/amd/Kconfig: depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM net/ethernet/mscc/Kconfig: depends on OF_NET net/ethernet/ezchip/Kconfig: depends on OF_IRQ && OF_NET net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET && REGULATOR so it cannot just disappear. These will need reviewing and changing as well. Andrew
On Wed, Oct 6, 2021 at 11:34 AM Andrew Lunn <andrew@lunn.ch> wrote: > > On Wed, Oct 06, 2021 at 11:18:19AM -0500, Rob Herring wrote: > > On Wed, Oct 6, 2021 at 10:45 AM Jakub Kicinski <kuba@kernel.org> wrote: > > > > > > Rob suggests to move of_net.c from under drivers/of/ somewhere > > > to the networking code. > > > > > > Suggested-by: Rob Herring <robh@kernel.org> > > > Signed-off-by: Jakub Kicinski <kuba@kernel.org> > > > --- > > > v2: new patch > > > --- > > > drivers/of/Makefile | 1 - > > > net/core/Makefile | 1 + > > > {drivers/of => net/core}/of_net.c | 0 > > > 3 files changed, 1 insertion(+), 1 deletion(-) > > > rename {drivers/of => net/core}/of_net.c (100%) > > > > > > diff --git a/drivers/of/Makefile b/drivers/of/Makefile > > > index c13b982084a3..e0360a44306e 100644 > > > --- a/drivers/of/Makefile > > > +++ b/drivers/of/Makefile > > > @@ -7,7 +7,6 @@ obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o > > > obj-$(CONFIG_OF_PROMTREE) += pdt.o > > > obj-$(CONFIG_OF_ADDRESS) += address.o > > > obj-$(CONFIG_OF_IRQ) += irq.o > > > -obj-$(CONFIG_OF_NET) += of_net.o > > > obj-$(CONFIG_OF_UNITTEST) += unittest.o > > > obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o > > > obj-$(CONFIG_OF_RESOLVE) += resolver.o > > > diff --git a/net/core/Makefile b/net/core/Makefile > > > index 35ced6201814..37b1befc39aa 100644 > > > --- a/net/core/Makefile > > > +++ b/net/core/Makefile > > > @@ -36,3 +36,4 @@ obj-$(CONFIG_FAILOVER) += failover.o > > > obj-$(CONFIG_NET_SOCK_MSG) += skmsg.o > > > obj-$(CONFIG_BPF_SYSCALL) += sock_map.o > > > obj-$(CONFIG_BPF_SYSCALL) += bpf_sk_storage.o > > > +obj-$(CONFIG_OF_NET) += of_net.o > > > > The OF_NET kconfig should move or disappear too. I imagine you can do just: > > It is used in a few places: Okay, then just move it for now. I suspect though that most of these can either be dropped or replaced with just 'OF' dependency. > net/ethernet/litex/Kconfig: depends on OF_NET > net/ethernet/amd/Kconfig: depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM If the driver depends on OF or ACPI, then the dependency should just be removed because one of those is almost always enabled. > net/ethernet/mscc/Kconfig: depends on OF_NET > net/ethernet/ezchip/Kconfig: depends on OF_IRQ && OF_NET > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET && REGULATOR I don't see any OF_IRQ dependency (which would be odd). The OF_NET dependency is just of_get_phy_mode() from a quick glance and we have a stub for it. Rob
On Wed, 6 Oct 2021 11:58:07 -0500 Rob Herring wrote: > On Wed, Oct 6, 2021 at 11:34 AM Andrew Lunn <andrew@lunn.ch> wrote: > > > > On Wed, Oct 06, 2021 at 11:18:19AM -0500, Rob Herring wrote: > > > The OF_NET kconfig should move or disappear too. I imagine you can do just: > > > > It is used in a few places: > > Okay, then just move it for now. > > I suspect though that most of these can either be dropped or replaced > with just 'OF' dependency. I have something that builds with allmodconfig :) see below. > > net/ethernet/litex/Kconfig: depends on OF_NET > > net/ethernet/amd/Kconfig: depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM > > If the driver depends on OF or ACPI, then the dependency should just > be removed because one of those is almost always enabled. I assumed any OF_* implies OF so just dropping OF_NET. > > net/ethernet/mscc/Kconfig: depends on OF_NET > > net/ethernet/ezchip/Kconfig: depends on OF_IRQ && OF_NET > > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET > > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET && REGULATOR > > I don't see any OF_IRQ dependency (which would be odd). The OF_NET > dependency is just of_get_phy_mode() from a quick glance and we have a > stub for it. Hm. Indeed on the OF_IRQ. net/ethernet/arc/ has irq_of_parse_and_map() but I don't see the need in ezchip, but that seems like a separate matter... --->8----- diff --git a/drivers/net/ethernet/amd/Kconfig b/drivers/net/ethernet/amd/Kconfig index 4786f0504691..899c8a2a34b6 100644 --- a/drivers/net/ethernet/amd/Kconfig +++ b/drivers/net/ethernet/amd/Kconfig @@ -168,7 +168,7 @@ config SUNLANCE config AMD_XGBE tristate "AMD 10GbE Ethernet driver" - depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM + depends on (OF_ADDRESS || ACPI || PCI) && HAS_IOMEM depends on X86 || ARM64 || COMPILE_TEST depends on PTP_1588_CLOCK_OPTIONAL select BITREVERSE diff --git a/drivers/net/ethernet/arc/Kconfig b/drivers/net/ethernet/arc/Kconfig index 37a41773dd43..840a9ce7ba1c 100644 --- a/drivers/net/ethernet/arc/Kconfig +++ b/drivers/net/ethernet/arc/Kconfig @@ -25,7 +25,7 @@ config ARC_EMAC_CORE config ARC_EMAC tristate "ARC EMAC support" select ARC_EMAC_CORE - depends on OF_IRQ && OF_NET + depends on OF_IRQ depends on ARC || COMPILE_TEST help On some legacy ARC (Synopsys) FPGA boards such as ARCAngel4/ML50x @@ -35,7 +35,7 @@ config ARC_EMAC config EMAC_ROCKCHIP tristate "Rockchip EMAC support" select ARC_EMAC_CORE - depends on OF_IRQ && OF_NET && REGULATOR + depends on OF_IRQ && REGULATOR depends on ARCH_ROCKCHIP || COMPILE_TEST help Support for Rockchip RK3036/RK3066/RK3188 EMAC ethernet controllers. diff --git a/drivers/net/ethernet/ezchip/Kconfig b/drivers/net/ethernet/ezchip/Kconfig index 38aa824efb25..9241b9b1c7a3 100644 --- a/drivers/net/ethernet/ezchip/Kconfig +++ b/drivers/net/ethernet/ezchip/Kconfig @@ -18,7 +18,7 @@ if NET_VENDOR_EZCHIP config EZCHIP_NPS_MANAGEMENT_ENET tristate "EZchip NPS management enet support" - depends on OF_IRQ && OF_NET + depends on OF_IRQ depends on HAS_IOMEM help Simple LAN device for debug or management purposes. diff --git a/drivers/net/ethernet/litex/Kconfig b/drivers/net/ethernet/litex/Kconfig index 63bf01d28f0c..f99adbf26ab4 100644 --- a/drivers/net/ethernet/litex/Kconfig +++ b/drivers/net/ethernet/litex/Kconfig @@ -17,7 +17,7 @@ if NET_VENDOR_LITEX config LITEX_LITEETH tristate "LiteX Ethernet support" - depends on OF_NET + depends on OF help If you wish to compile a kernel for hardware with a LiteX LiteEth device then you should answer Y to this. diff --git a/drivers/net/ethernet/mscc/Kconfig b/drivers/net/ethernet/mscc/Kconfig index b6a73d151dec..8dd8c7f425d2 100644 --- a/drivers/net/ethernet/mscc/Kconfig +++ b/drivers/net/ethernet/mscc/Kconfig @@ -28,7 +28,7 @@ config MSCC_OCELOT_SWITCH depends on BRIDGE || BRIDGE=n depends on NET_SWITCHDEV depends on HAS_IOMEM - depends on OF_NET + depends on OF select MSCC_OCELOT_SWITCH_LIB select GENERIC_PHY help diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 3dfeae8912df..80b5fd44ab1c 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -70,10 +70,6 @@ config OF_IRQ def_bool y depends on !SPARC && IRQ_DOMAIN -config OF_NET - depends on NETDEVICES - def_bool y - config OF_RESERVED_MEM def_bool OF_EARLY_FLATTREE diff --git a/include/linux/of_net.h b/include/linux/of_net.h index 314b9accd98c..0797e2edb8c2 100644 --- a/include/linux/of_net.h +++ b/include/linux/of_net.h @@ -8,7 +8,7 @@ #include <linux/phy.h> -#ifdef CONFIG_OF_NET +#ifdef CONFIG_OF #include <linux/of.h> struct net_device; diff --git a/net/core/Makefile b/net/core/Makefile index 37b1befc39aa..4268846f2f47 100644 --- a/net/core/Makefile +++ b/net/core/Makefile @@ -36,4 +36,4 @@ obj-$(CONFIG_FAILOVER) += failover.o obj-$(CONFIG_NET_SOCK_MSG) += skmsg.o obj-$(CONFIG_BPF_SYSCALL) += sock_map.o obj-$(CONFIG_BPF_SYSCALL) += bpf_sk_storage.o -obj-$(CONFIG_OF_NET) += of_net.o +obj-$(CONFIG_OF) += of_net.o diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index f6197774048b..ae001c2ca2af 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -1869,7 +1869,7 @@ static struct class net_class __ro_after_init = { .get_ownership = net_get_ownership, }; -#ifdef CONFIG_OF_NET +#ifdef CONFIG_OF static int of_dev_node_match(struct device *dev, const void *data) { for (; dev; dev = dev->parent) {
On Wed, Oct 6, 2021 at 12:12 PM Jakub Kicinski <kuba@kernel.org> wrote: > > On Wed, 6 Oct 2021 11:58:07 -0500 Rob Herring wrote: > > On Wed, Oct 6, 2021 at 11:34 AM Andrew Lunn <andrew@lunn.ch> wrote: > > > > > > On Wed, Oct 06, 2021 at 11:18:19AM -0500, Rob Herring wrote: > > > > The OF_NET kconfig should move or disappear too. I imagine you can do just: > > > > > > It is used in a few places: > > > > Okay, then just move it for now. > > > > I suspect though that most of these can either be dropped or replaced > > with just 'OF' dependency. > > I have something that builds with allmodconfig :) see below. Sparc is the arch to try. That's generally we we get tripped up with OF options. > > > net/ethernet/litex/Kconfig: depends on OF_NET > > > net/ethernet/amd/Kconfig: depends on ((OF_NET && OF_ADDRESS) || ACPI || PCI) && HAS_IOMEM > > > > If the driver depends on OF or ACPI, then the dependency should just > > be removed because one of those is almost always enabled. > > I assumed any OF_* implies OF so just dropping OF_NET. > > > > net/ethernet/mscc/Kconfig: depends on OF_NET > > > net/ethernet/ezchip/Kconfig: depends on OF_IRQ && OF_NET > > > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET > > > net/ethernet/arc/Kconfig: depends on OF_IRQ && OF_NET && REGULATOR > > > > I don't see any OF_IRQ dependency (which would be odd). The OF_NET > > dependency is just of_get_phy_mode() from a quick glance and we have a > > stub for it. > > Hm. Indeed on the OF_IRQ. > > net/ethernet/arc/ has irq_of_parse_and_map() Ah right, but there is a stub for that. The preference is to use platform_get_irq() instead of irq_of_parse_and_map(), then the OF_IRQ dependency would really be gone. > but I don't see the need in ezchip, but that seems like a separate matter...
On Wed, 6 Oct 2021 14:02:42 -0500 Rob Herring wrote: > > > Okay, then just move it for now. > > > > > > I suspect though that most of these can either be dropped or replaced > > > with just 'OF' dependency. > > > > I have something that builds with allmodconfig :) see below. > > Sparc is the arch to try. That's generally we we get tripped up with OF options. Thanks for the hint, sparc (non-64) allmodconfig builds fine (well, it spits out this: <stdin>:1515:2: warning: #warning syscall clone3 not implemented [-Wcpp] arch/sparc/boot/Makefile:26: FORCE prerequisite is missing but that seems unrelated). Is there any other sparc config worth building?
diff --git a/drivers/of/Makefile b/drivers/of/Makefile index c13b982084a3..e0360a44306e 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -7,7 +7,6 @@ obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o obj-$(CONFIG_OF_PROMTREE) += pdt.o obj-$(CONFIG_OF_ADDRESS) += address.o obj-$(CONFIG_OF_IRQ) += irq.o -obj-$(CONFIG_OF_NET) += of_net.o obj-$(CONFIG_OF_UNITTEST) += unittest.o obj-$(CONFIG_OF_RESERVED_MEM) += of_reserved_mem.o obj-$(CONFIG_OF_RESOLVE) += resolver.o diff --git a/net/core/Makefile b/net/core/Makefile index 35ced6201814..37b1befc39aa 100644 --- a/net/core/Makefile +++ b/net/core/Makefile @@ -36,3 +36,4 @@ obj-$(CONFIG_FAILOVER) += failover.o obj-$(CONFIG_NET_SOCK_MSG) += skmsg.o obj-$(CONFIG_BPF_SYSCALL) += sock_map.o obj-$(CONFIG_BPF_SYSCALL) += bpf_sk_storage.o +obj-$(CONFIG_OF_NET) += of_net.o diff --git a/drivers/of/of_net.c b/net/core/of_net.c similarity index 100% rename from drivers/of/of_net.c rename to net/core/of_net.c
Rob suggests to move of_net.c from under drivers/of/ somewhere to the networking code. Suggested-by: Rob Herring <robh@kernel.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org> --- v2: new patch --- drivers/of/Makefile | 1 - net/core/Makefile | 1 + {drivers/of => net/core}/of_net.c | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename {drivers/of => net/core}/of_net.c (100%)