diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Kconfig | 3 | ||||
| -rw-r--r-- | lib/Makefile | 2 | ||||
| -rwxr-xr-x | lib/build_OID_registry | 2 | ||||
| -rw-r--r-- | lib/fault-inject.c | 21 | ||||
| -rw-r--r-- | lib/kobject.c | 2 | ||||
| -rw-r--r-- | lib/net_utils.c | 26 | 
6 files changed, 32 insertions, 24 deletions
| diff --git a/lib/Kconfig b/lib/Kconfig index fe01d418b09a..d246a3bbd6ef 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -22,6 +22,9 @@ config GENERIC_STRNCPY_FROM_USER  config GENERIC_STRNLEN_USER  	bool +config GENERIC_NET_UTILS +	bool +  config GENERIC_FIND_FIRST_BIT  	bool diff --git a/lib/Makefile b/lib/Makefile index c55a037a354e..22f0f4e8a9e1 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -137,6 +137,8 @@ obj-$(CONFIG_DDR) += jedec_ddr_data.o  obj-$(CONFIG_GENERIC_STRNCPY_FROM_USER) += strncpy_from_user.o  obj-$(CONFIG_GENERIC_STRNLEN_USER) += strnlen_user.o +obj-$(CONFIG_GENERIC_NET_UTILS) += net_utils.o +  obj-$(CONFIG_STMP_DEVICE) += stmp_device.o  libfdt_files = fdt.o fdt_ro.o fdt_wip.o fdt_rw.o fdt_sw.o fdt_strerror.o diff --git a/lib/build_OID_registry b/lib/build_OID_registry index dfbdaab81bc8..5d9827217360 100755 --- a/lib/build_OID_registry +++ b/lib/build_OID_registry @@ -50,8 +50,6 @@ my @indices = ();  my @lengths = ();  my $total_length = 0; -print "Compiling ", $#names + 1, " OIDs\n"; -  for (my $i = 0; $i <= $#names; $i++) {      my $name = $names[$i];      my $oid = $oids[$i]; diff --git a/lib/fault-inject.c b/lib/fault-inject.c index c5c7a762b850..d7d501ea856d 100644 --- a/lib/fault-inject.c +++ b/lib/fault-inject.c @@ -182,27 +182,6 @@ static struct dentry *debugfs_create_stacktrace_depth(  #endif /* CONFIG_FAULT_INJECTION_STACKTRACE_FILTER */ -static int debugfs_atomic_t_set(void *data, u64 val) -{ -	atomic_set((atomic_t *)data, val); -	return 0; -} - -static int debugfs_atomic_t_get(void *data, u64 *val) -{ -	*val = atomic_read((atomic_t *)data); -	return 0; -} - -DEFINE_SIMPLE_ATTRIBUTE(fops_atomic_t, debugfs_atomic_t_get, -			debugfs_atomic_t_set, "%lld\n"); - -static struct dentry *debugfs_create_atomic_t(const char *name, umode_t mode, -				struct dentry *parent, atomic_t *value) -{ -	return debugfs_create_file(name, mode, parent, value, &fops_atomic_t); -} -  struct dentry *fault_create_debugfs_attr(const char *name,  			struct dentry *parent, struct fault_attr *attr)  { diff --git a/lib/kobject.c b/lib/kobject.c index b7e29a6056d3..4a1f33d43548 100644 --- a/lib/kobject.c +++ b/lib/kobject.c @@ -805,7 +805,7 @@ static struct kset *kset_create(const char *name,  	kset = kzalloc(sizeof(*kset), GFP_KERNEL);  	if (!kset)  		return NULL; -	retval = kobject_set_name(&kset->kobj, name); +	retval = kobject_set_name(&kset->kobj, "%s", name);  	if (retval) {  		kfree(kset);  		return NULL; diff --git a/lib/net_utils.c b/lib/net_utils.c new file mode 100644 index 000000000000..2e3c52c8d050 --- /dev/null +++ b/lib/net_utils.c @@ -0,0 +1,26 @@ +#include <linux/string.h> +#include <linux/if_ether.h> +#include <linux/ctype.h> +#include <linux/kernel.h> + +int mac_pton(const char *s, u8 *mac) +{ +	int i; + +	/* XX:XX:XX:XX:XX:XX */ +	if (strlen(s) < 3 * ETH_ALEN - 1) +		return 0; + +	/* Don't dirty result unless string is valid MAC. */ +	for (i = 0; i < ETH_ALEN; i++) { +		if (!isxdigit(s[i * 3]) || !isxdigit(s[i * 3 + 1])) +			return 0; +		if (i != ETH_ALEN - 1 && s[i * 3 + 2] != ':') +			return 0; +	} +	for (i = 0; i < ETH_ALEN; i++) { +		mac[i] = (hex_to_bin(s[i * 3]) << 4) | hex_to_bin(s[i * 3 + 1]); +	} +	return 1; +} +EXPORT_SYMBOL(mac_pton); |