From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758880AbbDYJn0 (ORCPT ); Sat, 25 Apr 2015 05:43:26 -0400 Received: from lb3-smtp-cloud6.xs4all.net ([194.109.24.31]:34188 "EHLO lb3-smtp-cloud6.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754606AbbDYJnX (ORCPT ); Sat, 25 Apr 2015 05:43:23 -0400 Message-ID: <1429954999.2927.117.camel@x220> Subject: Re: [PATCH] x86: punit_atom: punit device state debug driver From: Paul Bolle To: Srinivas Pandruvada Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, Kumar P Mahesh Date: Sat, 25 Apr 2015 11:43:19 +0200 In-Reply-To: <1429911723-31095-1-git-send-email-srinivas.pandruvada@linux.intel.com> References: <1429911723-31095-1-git-send-email-srinivas.pandruvada@linux.intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4 (3.10.4-4.fc20) Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2015-04-24 at 14:42 -0700, Srinivas Pandruvada wrote: > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > > +config PUNIT_ATOM > + bool "ATOM Punit debug driver" > + def_bool n The kconfig tools will do what you mean here. But just default n is neater. And, moreover, even that is probably not needed, as n is the default anyway. > + depends on DEBUG_FS > + select IOSF_MBI > + ---help--- > + This is a debug driver, which gets the power states > + of all Punit North Complex devices.The power states of > + each IP is exposed as part of the debugfs interface. (This menu will show up in menuconfig's main menu. Shouldn't this be put in some debug related menu?) > --- a/arch/x86/kernel/Makefile > +++ b/arch/x86/kernel/Makefile > +obj-$(CONFIG_PUNIT_ATOM) += punit_atom.o PUNIT_ATOM is a bool symbol, so punit_atom.o will never be part of a module, correct? > --- /dev/null > +++ b/arch/x86/kernel/punit_atom.c > +#include Is this include needed (except for the stuff that will be preprocessed away, see below)? > +MODULE_DEVICE_TABLE(x86cpu, intel_punit_cpu_ids); MODULE_DEVICE_TABLE will be preprocessed away for built-in code, according to include/linux/module.h. > +static void __exit punit_atom_exit(void) > +{ > + punit_dbgfs_unregister(); > +} > + > +module_init(punit_atom_init); According to include/linux/init.h this is equal to device_initcall(punit_atom_init); for built-in code. > +module_exit(punit_atom_exit); Built-in only code will never call that function. > +MODULE_AUTHOR("Kumar P, Mahesh "); (?) > +MODULE_DESCRIPTION("Driver for Punit devices states debugging"); > +MODULE_LICENSE("GPL v2"); And these three macros will be effectively preprocessed away for built-in only code. But, on the other hand, changing PUNIT_ATOM to tristate allows it to be built as a module (I just did that). So perhaps that was your intention? Paul Bolle