Re: [PATCH] x86: punit_atom: punit device state debug driver

From: Paul Bolle
Date: Sat Apr 25 2015 - 05:43:28 EST

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 <linux/module.h>

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

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");

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

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at