Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 359762
b: refs/heads/master
c: 8ab3e6a
h: refs/heads/master
v: v3
  • Loading branch information
Eduardo Valentin authored and Zhang Rui committed Jan 16, 2013
1 parent c2b9de0 commit c1f9c41
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c076fc42a4d6c51d6422aaf9f6626bf1adf983e7
refs/heads/master: 8ab3e6a08a98f7ff18c6814065eb30ba2e000233
5 changes: 3 additions & 2 deletions trunk/Documentation/thermal/sysfs-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -329,8 +329,9 @@ The framework includes a simple notification mechanism, in the form of a
netlink event. Netlink socket initialization is done during the _init_
of the framework. Drivers which intend to use the notification mechanism
just need to call thermal_generate_netlink_event() with two arguments viz
(originator, event). Typically the originator will be an integer assigned
to a thermal_zone_device when it registers itself with the framework. The
(originator, event). The originator is a pointer to struct thermal_zone_device
from where the event has been originated. An integer which represents the
thermal zone device will be used in the message to identify the zone. The
event will be one of:{THERMAL_AUX0, THERMAL_AUX1, THERMAL_CRITICAL,
THERMAL_DEV_FAULT}. Notification can be sent when the current temperature
crosses any of the configured thresholds.
Expand Down
8 changes: 6 additions & 2 deletions trunk/drivers/thermal/thermal_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -1711,7 +1711,8 @@ static struct genl_multicast_group thermal_event_mcgrp = {
.name = THERMAL_GENL_MCAST_GROUP_NAME,
};

int thermal_generate_netlink_event(u32 orig, enum events event)
int thermal_generate_netlink_event(struct thermal_zone_device *tz,
enum events event)
{
struct sk_buff *skb;
struct nlattr *attr;
Expand All @@ -1721,6 +1722,9 @@ int thermal_generate_netlink_event(u32 orig, enum events event)
int result;
static unsigned int thermal_event_seqnum;

if (!tz)
return -EINVAL;

/* allocate memory */
size = nla_total_size(sizeof(struct thermal_genl_event)) +
nla_total_size(0);
Expand Down Expand Up @@ -1755,7 +1759,7 @@ int thermal_generate_netlink_event(u32 orig, enum events event)

memset(thermal_event, 0, sizeof(struct thermal_genl_event));

thermal_event->orig = orig;
thermal_event->orig = tz->id;
thermal_event->event = event;

/* send multicast genetlink message */
Expand Down
6 changes: 4 additions & 2 deletions trunk/include/linux/thermal.h
Original file line number Diff line number Diff line change
Expand Up @@ -246,9 +246,11 @@ int thermal_register_governor(struct thermal_governor *);
void thermal_unregister_governor(struct thermal_governor *);

#ifdef CONFIG_NET
extern int thermal_generate_netlink_event(u32 orig, enum events event);
extern int thermal_generate_netlink_event(struct thermal_zone_device *tz,
enum events event);
#else
static inline int thermal_generate_netlink_event(u32 orig, enum events event)
static int thermal_generate_netlink_event(struct thermal_zone_device *tz,
enum events event)
{
return 0;
}
Expand Down

0 comments on commit c1f9c41

Please sign in to comment.