On Tue, 05 Aug 2008 18:15:27 -0700 Jeremy Fitzhardinge wrote: > Randy Dunlap wrote: > > These warnings have been around for several days now. > > Is there a patch available but not yet merged for linux-next? > > > > > > linux-next-20080805/drivers/xen/balloon.c:599: warning: initialization from incompatible pointer type > > linux-next-20080805/drivers/xen/balloon.c:600: warning: initialization from incompatible pointer type > > linux-next-20080805/drivers/xen/balloon.c:601: warning: initialization from incompatible pointer type > > linux-next-20080805/drivers/xen/balloon.c:602: warning: initialization from incompatible pointer type > > linux-next-20080805/drivers/xen/balloon.c:605: warning: initialization from incompatible pointer type > > linux-next-20080805/drivers/xen/balloon.c:635: warning: initialization from incompatible pointer type > > > > I posted this patch the other day. It's in tip.git, but I guess it > hasn't made it to next. > Ack, looks good, fixes those warnings. Thanks. > > Subject: xen-balloon: fix up sysfs issues > > 1. Set the class so it doesn't clash with the normal memory class > 2. Fix up the sysfs show functions to match the new prototype > 3. Clean up use of memparse > > Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> > Cc: viets@xxxxxxx > Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> > --- > drivers/xen/balloon.c | 27 ++++++++++++--------------- > 1 file changed, 12 insertions(+), 15 deletions(-) > > =================================================================== > --- a/drivers/xen/balloon.c > +++ b/drivers/xen/balloon.c > @@ -60,7 +60,7 @@ > > #define PAGES2KB(_p) ((_p)<<(PAGE_SHIFT-10)) > > -#define BALLOON_CLASS_NAME "memory" > +#define BALLOON_CLASS_NAME "xen_memory" > > struct balloon_stats { > /* We aim for 'current allocation' == 'target allocation'. */ > @@ -588,12 +587,13 @@ > } > > > -#define BALLOON_SHOW(name, format, args...) \ > - static ssize_t show_##name(struct sys_device *dev, \ > - char *buf) \ > - { \ > - return sprintf(buf, format, ##args); \ > - } \ > +#define BALLOON_SHOW(name, format, args...) \ > + static ssize_t show_##name(struct sys_device *dev, \ > + struct sysdev_attribute *attr, \ > + char *buf) \ > + { \ > + return sprintf(buf, format, ##args); \ > + } \ > static SYSDEV_ATTR(name, S_IRUGO, show_##name, NULL) > > BALLOON_SHOW(current_kb, "%lu\n", PAGES2KB(balloon_stats.current_pages)); > @@ -604,7 +604,8 @@ > (balloon_stats.hard_limit!=~0UL) ? PAGES2KB(balloon_stats.hard_limit) : 0); > BALLOON_SHOW(driver_kb, "%lu\n", PAGES2KB(balloon_stats.driver_pages)); > > -static ssize_t show_target_kb(struct sys_device *dev, char *buf) > +static ssize_t show_target_kb(struct sys_device *dev, struct sysdev_attribute *attr, > + char *buf) > { > return sprintf(buf, "%lu\n", PAGES2KB(balloon_stats.target_pages)); > } > @@ -614,19 +615,14 @@ > const char *buf, > size_t count) > { > - char memstring[64], *endchar; > + char *endchar; > unsigned long long target_bytes; > > if (!capable(CAP_SYS_ADMIN)) > return -EPERM; > > - if (count <= 1) > - return -EBADMSG; /* runt */ > - if (count > sizeof(memstring)) > - return -EFBIG; /* too long */ > - strcpy(memstring, buf); > + target_bytes = memparse(buf, &endchar); > > - target_bytes = memparse(memstring, &endchar); > balloon_set_new_target(target_bytes >> PAGE_SHIFT); > > return count; > > --- ~Randy Linux Plumbers Conference, 17-19 September 2008, Portland, Oregon USA http://linuxplumbersconf.org/ -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html