diff options
author | Wolfram Sang <wsa@the-dreams.de> | 2017-10-26 22:24:15 +0200 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2017-10-26 22:24:15 +0200 |
commit | 3990bedea6e96cb1f182dbeadd62215dbb9e1c85 (patch) | |
tree | 90ac0ab8ae1d4339dc17eb42a853042ea06d6b13 /drivers/base/node.c | |
parent | 631de7a4603439eaa1d7a2a1a7b5b49edcd87f67 (diff) | |
parent | 3997fb74846f35d0364c5e88e54bc9b166d5a1bc (diff) |
Merge branch 'i2c-mux/for-next' of https://github.com/peda-r/i2c-mux into i2c/for-4.15
This cycle has been real quiet for me. There's only the one trivial
patch that somewhat simplifies DT parsing in the i2c-mux-reg driver.
Diffstat (limited to 'drivers/base/node.c')
-rw-r--r-- | drivers/base/node.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/base/node.c b/drivers/base/node.c index 3855902f2c5b..aae2402f3791 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -27,13 +27,21 @@ static struct bus_type node_subsys = { static ssize_t node_read_cpumap(struct device *dev, bool list, char *buf) { + ssize_t n; + cpumask_var_t mask; struct node *node_dev = to_node(dev); - const struct cpumask *mask = cpumask_of_node(node_dev->dev.id); /* 2008/04/07: buf currently PAGE_SIZE, need 9 chars per 32 bits. */ BUILD_BUG_ON((NR_CPUS/32 * 9) > (PAGE_SIZE-1)); - return cpumap_print_to_pagebuf(list, buf, mask); + if (!alloc_cpumask_var(&mask, GFP_KERNEL)) + return 0; + + cpumask_and(mask, cpumask_of_node(node_dev->dev.id), cpu_online_mask); + n = cpumap_print_to_pagebuf(list, buf, mask); + free_cpumask_var(mask); + + return n; } static inline ssize_t node_read_cpumask(struct device *dev, |