All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: Ingo Molnar <mingo@elte.hu>, Len Brown <lenb@kernel.org>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	Luming Yu <luming.yu@intel.com>,
	linux-next@vger.kernel.org, LKML <linux-kernel@vger.kernel.org>,
	linux-acpi@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH upstream build breakage] acpi: several drivers depend on NET
Date: Mon, 28 Feb 2011 16:00:15 -0800	[thread overview]
Message-ID: <4D6C370F.1040104@oracle.com> (raw)
In-Reply-To: <201102282342.59407.rjw@sisk.pl>

On 02/28/11 14:42, Rafael J. Wysocki wrote:
> On Monday, February 28, 2011, Rafael J. Wysocki wrote:
>> On Monday, February 28, 2011, Randy Dunlap wrote:
>>> On Tue, 1 Feb 2011 13:03:23 +0100 Ingo Molnar wrote:
>>>
>>>> * Ingo Molnar <mingo@elte.hu> wrote:
>>>>
>>>>> * Randy Dunlap <randy.dunlap@oracle.com> wrote:
>>>>>
>>>>>> On Mon, 20 Dec 2010 20:00:13 +1100 Stephen Rothwell wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> [The mirroring on kernel.org is running slowly]
>>>>>>>
>>>>>>> Changes since 20101217:
>>>>>>
>>>>>> ERROR: "thermal_cooling_device_register" [drivers/acpi/video.ko] undefined!
>>>>>> ERROR: "thermal_cooling_device_unregister" [drivers/acpi/video.ko] undefined!
>>>>>
>>>>> This bug has been reported two months ago, one month ago, it has been ignored twice 
>>>>> and now the bug has been pushed upstream and it's triggering there as well.
>>>>>
>>>>> What's going on?
>>>>
>>>> *Tap*, *tap*, is this thing on? :)
>>>>
>>>> acpi-video is still build-broken upstream, as of .38-rc3:
>>>>
>>>>    MODPOST 651 modules
>>>>  ERROR: "thermal_cooling_device_register" [drivers/acpi/video.ko] undefined!
>>>>  ERROR: "thermal_cooling_device_unregister" [drivers/acpi/video.ko] undefined!
>>>>  WARNING: modpost: Found 37 section mismatch(es).
>>>>  To see full details build your kernel with:
>>>>  'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>>>>  make[1]: *** [__modpost] Error 1
>>>>  make: *** [modules] Error 2
>>>>
>>>> Triggers in about 10% of all randconfig builds. Config attached.
>>>
>>>
>>> From: Randy Dunlap <randy.dunlap@oracle.com>
>>>
>>> Several ACPI drivers select THERMAL, but THERMAL depends on NET
>>> (for netlink).  Fix build breakage by making the ACPI drivers
>>> also depend on NET.
>>
>> Well, making ACPI_FAN depend on NET seems to be a kind of an overstretch to me.
>> A proper fix would be to disable the netlink interface in THERMAL when
>> NET is unset, I guess.  I'll see what can be done to that end (although I had
>> hoped that the people who introduced the breakage would handle it).
> 
> OK, please check if the appended patch helps.  Admittedly, I only built it
> with CONFIG_NET set, so caveat emptor.

Looks good, built both with NET=y and NET disabled.

Acked-by: Randy Dunlap <randy.dunlap@oracle.com>

Thanks.

> Thanks,
> Rafael
> 
> 
> ---
>  drivers/thermal/Kconfig       |    1 -
>  drivers/thermal/thermal_sys.c |   40 +++++++++++++++++++++-------------------
>  include/linux/thermal.h       |    8 ++++++++
>  3 files changed, 29 insertions(+), 20 deletions(-)
> 
> Index: linux-2.6/drivers/thermal/thermal_sys.c
> ===================================================================
> --- linux-2.6.orig/drivers/thermal/thermal_sys.c
> +++ linux-2.6/drivers/thermal/thermal_sys.c
> @@ -62,20 +62,6 @@ static DEFINE_MUTEX(thermal_list_lock);
>  
>  static unsigned int thermal_event_seqnum;
>  
> -static struct genl_family thermal_event_genl_family = {
> -	.id = GENL_ID_GENERATE,
> -	.name = THERMAL_GENL_FAMILY_NAME,
> -	.version = THERMAL_GENL_VERSION,
> -	.maxattr = THERMAL_GENL_ATTR_MAX,
> -};
> -
> -static struct genl_multicast_group thermal_event_mcgrp = {
> -	.name = THERMAL_GENL_MCAST_GROUP_NAME,
> -};
> -
> -static int genetlink_init(void);
> -static void genetlink_exit(void);
> -
>  static int get_idr(struct idr *idr, struct mutex *lock, int *id)
>  {
>  	int err;
> @@ -1225,6 +1211,18 @@ void thermal_zone_device_unregister(stru
>  
>  EXPORT_SYMBOL(thermal_zone_device_unregister);
>  
> +#ifdef CONFIG_NET
> +static struct genl_family thermal_event_genl_family = {
> +	.id = GENL_ID_GENERATE,
> +	.name = THERMAL_GENL_FAMILY_NAME,
> +	.version = THERMAL_GENL_VERSION,
> +	.maxattr = THERMAL_GENL_ATTR_MAX,
> +};
> +
> +static struct genl_multicast_group thermal_event_mcgrp = {
> +	.name = THERMAL_GENL_MCAST_GROUP_NAME,
> +};
> +
>  int generate_netlink_event(u32 orig, enum events event)
>  {
>  	struct sk_buff *skb;
> @@ -1301,6 +1299,15 @@ static int genetlink_init(void)
>  	return result;
>  }
>  
> +static void genetlink_exit(void)
> +{
> +	genl_unregister_family(&thermal_event_genl_family);
> +}
> +#else /* !CONFIG_NET */
> +static inline int genetlink_init(void) { return 0; }
> +static inline void genetlink_exit(void) {}
> +#endif /* !CONFIG_NET */
> +
>  static int __init thermal_init(void)
>  {
>  	int result = 0;
> @@ -1316,11 +1323,6 @@ static int __init thermal_init(void)
>  	return result;
>  }
>  
> -static void genetlink_exit(void)
> -{
> -	genl_unregister_family(&thermal_event_genl_family);
> -}
> -
>  static void __exit thermal_exit(void)
>  {
>  	class_unregister(&thermal_class);
> Index: linux-2.6/include/linux/thermal.h
> ===================================================================
> --- linux-2.6.orig/include/linux/thermal.h
> +++ linux-2.6/include/linux/thermal.h
> @@ -172,6 +172,14 @@ void thermal_zone_device_update(struct t
>  struct thermal_cooling_device *thermal_cooling_device_register(char *, void *,
>  		const struct thermal_cooling_device_ops *);
>  void thermal_cooling_device_unregister(struct thermal_cooling_device *);
> +
> +#ifdef CONFIG_NET
>  extern int generate_netlink_event(u32 orig, enum events event);
> +#else
> +static inline int generate_netlink_event(u32 orig, enum events event)
> +{
> +	return 0;
> +}
> +#endif
>  
>  #endif /* __THERMAL_H__ */
> Index: linux-2.6/drivers/thermal/Kconfig
> ===================================================================
> --- linux-2.6.orig/drivers/thermal/Kconfig
> +++ linux-2.6/drivers/thermal/Kconfig
> @@ -4,7 +4,6 @@
>  
>  menuconfig THERMAL
>  	tristate "Generic Thermal sysfs driver"
> -	depends on NET
>  	help
>  	  Generic Thermal Sysfs driver offers a generic mechanism for
>  	  thermal management. Usually it's made up of one or more thermal


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

  reply	other threads:[~2011-03-01  0:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-20  9:00 linux-next: Tree for December 20 Stephen Rothwell
2010-12-20 16:14 ` Zimny Lech
2010-12-20 20:49   ` Stephen Rothwell
2010-12-20 16:53 ` linux-next: Tree for December 20 (acpi_video) Randy Dunlap
2011-01-26 11:42   ` Ingo Molnar
2011-02-01 12:03     ` [upstream build breakage] " Ingo Molnar
2011-02-01 19:17       ` [PATCH] gpu/stub: fix acpi_video build error, fix stub kconfig dependencies Randy Dunlap
2011-02-02  1:35         ` Ingo Molnar
2011-02-28 17:03       ` [PATCH upstream build breakage] acpi: several drivers depend on NET Randy Dunlap
2011-02-28 20:37         ` Rafael J. Wysocki
2011-02-28 22:42           ` Rafael J. Wysocki
2011-03-01  0:00             ` Randy Dunlap [this message]
2011-03-01  0:12               ` Rafael J. Wysocki
2011-03-01  6:17                 ` [build fix] ACPI: Fix build for CONFIG_NET unset Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D6C370F.1040104@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=luming.yu@intel.com \
    --cc=mingo@elte.hu \
    --cc=rjw@sisk.pl \
    --cc=sfr@canb.auug.org.au \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.