aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/mm/discontig_32.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/mm/discontig_32.c b/arch/x86/mm/discontig_32.c
index fe608a45ffb6..13a474d3c6e9 100644
--- a/arch/x86/mm/discontig_32.c
+++ b/arch/x86/mm/discontig_32.c
@@ -40,7 +40,7 @@
40 40
41struct pglist_data *node_data[MAX_NUMNODES] __read_mostly; 41struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
42EXPORT_SYMBOL(node_data); 42EXPORT_SYMBOL(node_data);
43bootmem_data_t node0_bdata; 43static bootmem_data_t node0_bdata;
44 44
45/* 45/*
46 * numa interface - we expect the numa architecture specific code to have 46 * numa interface - we expect the numa architecture specific code to have
@@ -404,7 +404,7 @@ void __init set_highmem_pages_init(int bad_ppro)
404} 404}
405 405
406#ifdef CONFIG_MEMORY_HOTPLUG 406#ifdef CONFIG_MEMORY_HOTPLUG
407int paddr_to_nid(u64 addr) 407static int paddr_to_nid(u64 addr)
408{ 408{
409 int nid; 409 int nid;
410 unsigned long pfn = PFN_DOWN(addr); 410 unsigned long pfn = PFN_DOWN(addr);
class="hl opt">) * WM8350_AUX_COEFF; val = DIV_ROUND_CLOSEST(val, 1000); return sprintf(buf, "%d\n", val); } static ssize_t show_label(struct device *dev, struct device_attribute *attr, char *buf) { int channel = to_sensor_dev_attr(attr)->index; return sprintf(buf, "%s\n", input_names[channel]); } #define WM8350_NAMED_VOLTAGE(id, name) \ static SENSOR_DEVICE_ATTR(in##id##_input, S_IRUGO, show_voltage,\ NULL, name); \ static SENSOR_DEVICE_ATTR(in##id##_label, S_IRUGO, show_label, \ NULL, name) static DEVICE_ATTR(name, S_IRUGO, show_name, NULL); WM8350_NAMED_VOLTAGE(0, WM8350_AUXADC_USB); WM8350_NAMED_VOLTAGE(1, WM8350_AUXADC_BATT); WM8350_NAMED_VOLTAGE(2, WM8350_AUXADC_LINE); static struct attribute *wm8350_attributes[] = { &dev_attr_name.attr, &sensor_dev_attr_in0_input.dev_attr.attr, &sensor_dev_attr_in0_label.dev_attr.attr, &sensor_dev_attr_in1_input.dev_attr.attr, &sensor_dev_attr_in1_label.dev_attr.attr, &sensor_dev_attr_in2_input.dev_attr.attr, &sensor_dev_attr_in2_label.dev_attr.attr, NULL, }; static const struct attribute_group wm8350_attr_group = { .attrs = wm8350_attributes, }; static int wm8350_hwmon_probe(struct platform_device *pdev) { struct wm8350 *wm8350 = platform_get_drvdata(pdev); int ret; ret = sysfs_create_group(&pdev->dev.kobj, &wm8350_attr_group); if (ret) goto err; wm8350->hwmon.classdev = hwmon_device_register(&pdev->dev); if (IS_ERR(wm8350->hwmon.classdev)) { ret = PTR_ERR(wm8350->hwmon.classdev); goto err_group; } return 0; err_group: sysfs_remove_group(&pdev->dev.kobj, &wm8350_attr_group); err: return ret; } static int wm8350_hwmon_remove(struct platform_device *pdev) { struct wm8350 *wm8350 = platform_get_drvdata(pdev); hwmon_device_unregister(wm8350->hwmon.classdev); sysfs_remove_group(&pdev->dev.kobj, &wm8350_attr_group); return 0; } static struct platform_driver wm8350_hwmon_driver = { .probe = wm8350_hwmon_probe, .remove = wm8350_hwmon_remove, .driver = { .name = "wm8350-hwmon", .owner = THIS_MODULE, }, }; module_platform_driver(wm8350_hwmon_driver); MODULE_AUTHOR("Mark Brown <broonie@opensource.wolfsonmicro.com>"); MODULE_DESCRIPTION("WM8350 Hardware Monitoring"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:wm8350-hwmon");