summaryrefslogtreecommitdiff
path: root/link.h
blob: f201e8c86521cef790ddbb7e65ad00dff1b2932d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef LINK_H
#define LINK_H

#include <stdint.h>
#include <sys/socket.h>
#include <linux/ethtool.h>
#include <linux/wireless.h>

#ifndef SPEED_UNKNOWN
#define SPEED_UNKNOWN           -1
#endif

#include "built_in.h"

extern int wireless_sigqual(const char *ifname, struct iw_statistics *stats);
extern int wireless_rangemax_sigqual(const char *ifname);
extern u32 wireless_bitrate(const char *ifname);
extern u32 ethtool_bitrate(const char *ifname);
extern int ethtool_drvinf(const char *ifname, struct ethtool_drvinfo *drvinf);
extern int ethtool_link(const char *ifname);

#endif /* LINK_H */
ef='/cgit.cgi/linux/net-next.git/patch/?id=e07ff9434167981c993a26d2edbbcb8e13801dbb'>patch) tree0d949b6bc2ffd2f62db65ef9539bafb39e8ab7c4 parent92e963f50fc74041b5e9e744c330dca48e04f08d (diff)
regulator: s5m8767: fix get_register() error handling
The s5m8767_pmic_probe() function calls s5m8767_get_register() to read data without checking the return code, which produces a compile-time warning when that data is accessed: drivers/regulator/s5m8767.c: In function 's5m8767_pmic_probe': drivers/regulator/s5m8767.c:924:7: error: 'enable_reg' may be used uninitialized in this function [-Werror=maybe-uninitialized] drivers/regulator/s5m8767.c:944:30: error: 'enable_val' may be used uninitialized in this function [-Werror=maybe-uninitialized] This changes the s5m8767_get_register() function to return a -EINVAL not just for an invalid register number but also for an invalid regulator number, as both would result in returning uninitialized data. The s5m8767_pmic_probe() function is then changed accordingly to fail on a read error, as all the other callers of s5m8767_get_register() already do. In practice this probably cannot happen, as we don't call s5m8767_get_register() with invalid arguments, but the gcc warning seems valid in principle, in terms writing safe error checking. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 9c4c60554acf ("regulator: s5m8767: Convert to use regulator_[enable|disable|is_enabled]_regmap") Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat