lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 16 Jul 2013 11:57:02 +0530 From: Viresh Kumar <viresh.kumar@...aro.org> To: Sudeep.KarkadaNagesha@....com Cc: linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, cpufreq@...r.kernel.org, arnd@...db.de, olof@...om.net, lorenzo.pieralisi@....com, rob.herring@...xeda.com, grant.likely@...aro.org, rjw@...k.pl, gregkh@...uxfoundation.org, gregory.clement@...e-electrons.com, kernel@...gutronix.de, shawn.guo@...aro.org, linux@....linux.org.uk Subject: Re: [RFC PATCH 01/11] driver/core: cpu: initialize of_node in cpu's device struture On 15 July 2013 15:52, <Sudeep.KarkadaNagesha@....com> wrote: > From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@....com> > > CPUs are also registered as devices but the of_node in these cpu > devices are not initialized. Currently different drivers requiring > to access cpu device node are parsing the nodes themselves and > initialising the of_node in cpu device. > > The of_node in all the cpu devices properly needs to be initialized s/properly / > properly and at one place. The best place to update this is CPU > subsystem driver when registering the cpu devices. > > This patch introduces a new function arch_of_get_cpu_node and uses it > to assign of_node. The definition of this function can be overridden > by architecture specific implementation. > > Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@....com> > --- > drivers/base/cpu.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/drivers/base/cpu.c b/drivers/base/cpu.c > index a16d20e..4b3047a 100644 > --- a/drivers/base/cpu.c > +++ b/drivers/base/cpu.c > @@ -28,6 +28,24 @@ static int cpu_subsys_match(struct device *dev, struct device_driver *drv) > return 0; > } > > +/** > + * arch_of_get_cpu_node - Get device node associated with the given logical CPU > + * @cpu: CPU number(logical index) for which device node is required > + * > + * The only purpose of this function is to retrieve the device node for the > + * given logical CPU index. It should be used to intialise the of_node in > + * cpu device. Once of_node in cpu device is populated, all the further > + * references can use that instead. > + * > + * CPU logical to physical index mapping is architecure specific and is built > + * before booting secondary cores. Hence this function is marked __weak and > + * can be overridden by architecture specific implementation. > + */ > +struct device_node * __weak arch_of_get_cpu_node(int cpu) > +{ > + return NULL; > +} > + > #ifdef CONFIG_HOTPLUG_CPU > static void change_cpu_under_node(struct cpu *cpu, > unsigned int from_nid, unsigned int to_nid) > @@ -289,6 +307,7 @@ int __cpuinit register_cpu(struct cpu *cpu, int num) > cpu->dev.release = cpu_device_release; > cpu->dev.offline_disabled = !cpu->hotpluggable; > cpu->dev.offline = !cpu_online(num); > + cpu->dev.of_node = arch_of_get_cpu_node(num); > #ifdef CONFIG_ARCH_HAS_CPU_AUTOPROBE > cpu->dev.bus->uevent = arch_cpu_uevent; > #endif > -- > 1.8.1.2 > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists