lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 28 Dec 2011 17:26:11 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Greg KH <greg@...ah.com>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Kay Sievers <kay.sievers@...y.org>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	Heiko Carstens <heiko.carstens@...ibm.com>
Subject: linux-next: manual merge of the driver-core tree with the s390 tree

Hi Greg,

Today's linux-next merge of the driver-core tree got a conflict in
arch/s390/kernel/smp.c between commit 83a24e329084 ("[S390] topology: get
rid of ifdefs") from the s390 tree and commit 8a25a2fd126c ("cpu: convert
'cpu' and 'machinecheck' sysdev_class to a regular subsystem") from the
driver-core tree.

I fixed it up (see below) and can carry the fix as necessary.

I also applied the following merge fix patch (which may not be correct or
enough) for the bits moved into topology.c:

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Wed, 28 Dec 2011 17:19:21 +1100
Subject: [PATCH] s390: fixup for sysdev removal

Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 arch/s390/kernel/topology.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/arch/s390/kernel/topology.c b/arch/s390/kernel/topology.c
index 08a059d..b635a8b 100644
--- a/arch/s390/kernel/topology.c
+++ b/arch/s390/kernel/topology.c
@@ -366,8 +366,8 @@ void __init s390_init_cpu_topology(void)
 
 static int cpu_management;
 
-static ssize_t dispatching_show(struct sysdev_class *class,
-				struct sysdev_class_attribute *attr,
+static ssize_t dispatching_show(struct device *dev,
+				struct device_attribute *attr,
 				char *buf)
 {
 	ssize_t count;
@@ -378,8 +378,8 @@ static ssize_t dispatching_show(struct sysdev_class *class,
 	return count;
 }
 
-static ssize_t dispatching_store(struct sysdev_class *dev,
-				 struct sysdev_class_attribute *attr,
+static ssize_t dispatching_store(struct device *dev,
+				 struct device_attribute *attr,
 				 const char *buf,
 				 size_t count)
 {
@@ -405,11 +405,11 @@ out:
 	put_online_cpus();
 	return rc ? rc : count;
 }
-static SYSDEV_CLASS_ATTR(dispatching, 0644, dispatching_show,
+static DEIVCE_ATTR(dispatching, 0644, dispatching_show,
 			 dispatching_store);
 
-static ssize_t cpu_polarization_show(struct sys_device *dev,
-				     struct sysdev_attribute *attr, char *buf)
+static ssize_t cpu_polarization_show(struct device *dev,
+				     struct device_attribute *attr, char *buf)
 {
 	int cpu = dev->id;
 	ssize_t count;
@@ -435,10 +435,10 @@ static ssize_t cpu_polarization_show(struct sys_device *dev,
 	mutex_unlock(&smp_cpu_state_mutex);
 	return count;
 }
-static SYSDEV_ATTR(polarization, 0444, cpu_polarization_show, NULL);
+static DEVICE_ATTR(polarization, 0444, cpu_polarization_show, NULL);
 
 static struct attribute *topology_cpu_attrs[] = {
-	&attr_polarization.attr,
+	&dev_attr_polarization.attr,
 	NULL,
 };
 
@@ -448,7 +448,7 @@ static struct attribute_group topology_cpu_attr_group = {
 
 int topology_cpu_init(struct cpu *cpu)
 {
-	return sysfs_create_group(&cpu->sysdev.kobj, &topology_cpu_attr_group);
+	return sysfs_create_group(&cpu->dev.kobj, &topology_cpu_attr_group);
 }
 
 static int __init topology_init(void)
@@ -460,6 +460,6 @@ static int __init topology_init(void)
 	set_topology_timer();
 out:
 	update_cpu_core_map();
-	return sysdev_class_create_file(&cpu_sysdev_class, &attr_dispatching);
+	return device_create_file(cpu_subsys.dev_root, &dev_attr_dispatching);
 }
 device_initcall(topology_init);

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc arch/s390/kernel/smp.c
index b1cd329,66cca03..0000000
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@@ -923,21 -889,52 +923,21 @@@ out
  	put_online_cpus();
  	return rc ? rc : count;
  }
- static SYSDEV_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store);
+ static DEVICE_ATTR(configure, 0644, cpu_configure_show, cpu_configure_store);
  #endif /* CONFIG_HOTPLUG_CPU */
  
- static ssize_t show_cpu_address(struct sys_device *dev,
- 				struct sysdev_attribute *attr, char *buf)
 -static ssize_t cpu_polarization_show(struct device *dev,
 -				     struct device_attribute *attr, char *buf)
 -{
 -	int cpu = dev->id;
 -	ssize_t count;
 -
 -	mutex_lock(&smp_cpu_state_mutex);
 -	switch (smp_cpu_polarization[cpu]) {
 -	case POLARIZATION_HRZ:
 -		count = sprintf(buf, "horizontal\n");
 -		break;
 -	case POLARIZATION_VL:
 -		count = sprintf(buf, "vertical:low\n");
 -		break;
 -	case POLARIZATION_VM:
 -		count = sprintf(buf, "vertical:medium\n");
 -		break;
 -	case POLARIZATION_VH:
 -		count = sprintf(buf, "vertical:high\n");
 -		break;
 -	default:
 -		count = sprintf(buf, "unknown\n");
 -		break;
 -	}
 -	mutex_unlock(&smp_cpu_state_mutex);
 -	return count;
 -}
 -static DEVICE_ATTR(polarization, 0444, cpu_polarization_show, NULL);
 -
+ static ssize_t show_cpu_address(struct device *dev,
+ 				struct device_attribute *attr, char *buf)
  {
  	return sprintf(buf, "%d\n", __cpu_logical_map[dev->id]);
  }
- static SYSDEV_ATTR(address, 0444, show_cpu_address, NULL);
+ static DEVICE_ATTR(address, 0444, show_cpu_address, NULL);
  
 -
  static struct attribute *cpu_common_attrs[] = {
  #ifdef CONFIG_HOTPLUG_CPU
- 	&attr_configure.attr,
+ 	&dev_attr_configure.attr,
  #endif
- 	&attr_address.attr,
+ 	&dev_attr_address.attr,
 -	&dev_attr_polarization.attr,
  	NULL,
  };
  
@@@ -1120,16 -1108,58 +1120,16 @@@ static ssize_t __ref rescan_store(struc
  	rc = smp_rescan_cpus();
  	return rc ? rc : count;
  }
- static SYSDEV_CLASS_ATTR(rescan, 0200, NULL, rescan_store);
+ static DEVICE_ATTR(rescan, 0200, NULL, rescan_store);
  #endif /* CONFIG_HOTPLUG_CPU */
  
 -static ssize_t dispatching_show(struct device *dev,
 -				struct device_attribute *attr,
 -				char *buf)
 -{
 -	ssize_t count;
 -
 -	mutex_lock(&smp_cpu_state_mutex);
 -	count = sprintf(buf, "%d\n", cpu_management);
 -	mutex_unlock(&smp_cpu_state_mutex);
 -	return count;
 -}
 -
 -static ssize_t dispatching_store(struct device *dev,
 -				 struct device_attribute *attr,
 -				 const char *buf,
 -				 size_t count)
 -{
 -	int val, rc;
 -	char delim;
 -
 -	if (sscanf(buf, "%d %c", &val, &delim) != 1)
 -		return -EINVAL;
 -	if (val != 0 && val != 1)
 -		return -EINVAL;
 -	rc = 0;
 -	get_online_cpus();
 -	mutex_lock(&smp_cpu_state_mutex);
 -	if (cpu_management == val)
 -		goto out;
 -	rc = topology_set_cpu_management(val);
 -	if (!rc)
 -		cpu_management = val;
 -out:
 -	mutex_unlock(&smp_cpu_state_mutex);
 -	put_online_cpus();
 -	return rc ? rc : count;
 -}
 -static DEVICE_ATTR(dispatching, 0644, dispatching_show,
 -			 dispatching_store);
 -
 -static int __init topology_init(void)
 +static int __init s390_smp_init(void)
  {
 -	int cpu;
 -	int rc;
 +	int cpu, rc;
  
  	register_cpu_notifier(&smp_cpu_nb);
 -
  #ifdef CONFIG_HOTPLUG_CPU
- 	rc = sysdev_class_create_file(&cpu_sysdev_class, &attr_rescan);
+ 	rc = device_create_file(cpu_subsys.dev_root, &dev_attr_rescan);
  	if (rc)
  		return rc;
  #endif

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ