rpms/kernel/devel linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch, NONE, 1.1 kernel.spec, 1.1248, 1.1249 linux-2.6-hwmon-atk0110.patch, 1.1, 1.2 linux-2.6-gspca-git.patch, 1.2, NONE linux-2.6-gspca-stv06xx-git.patch, 1.1, NONE linux-2.6-hwmon-atk0110-fix-numbering.patch, 1.1, NONE

Hans de Goede jwrdegoede at fedoraproject.org
Fri Jan 30 14:33:40 UTC 2009


Author: jwrdegoede

Update of /cvs/extras/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2283

Modified Files:
	kernel.spec linux-2.6-hwmon-atk0110.patch 
Added Files:
	linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch 
Removed Files:
	linux-2.6-gspca-git.patch linux-2.6-gspca-stv06xx-git.patch 
	linux-2.6-hwmon-atk0110-fix-numbering.patch 
Log Message:
* Fri Jan 30 2009 Hans de Goede <hdegoede at redhat.com>
- Completely drop gspca patches (all upstream now)
- Rebase atk0110 driver to latest from upstream
- Fix some broken error paths in superio hwmon drivers triggered by the
  new acpi_enforce_resources strict default (#483208)


linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch:

--- NEW FILE linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch ---
This patch fixes a number of cases where things were not properly cleaned up
when acpi_check_resource_conflict() returned an error, causing oopses such as
the one reported here:
https://bugzilla.redhat.com/show_bug.cgi?id=483208

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
diff -up linux-2.6.28.x86_64/drivers/hwmon/f71882fg.c~ linux-2.6.28.x86_64/drivers/hwmon/f71882fg.c
--- linux-2.6.28.x86_64/drivers/hwmon/f71882fg.c~	2009-01-30 11:18:04.000000000 +0100
+++ linux-2.6.28.x86_64/drivers/hwmon/f71882fg.c	2009-01-30 11:18:04.000000000 +0100
@@ -1932,7 +1932,7 @@ static int __init f71882fg_device_add(un
 	res.name = f71882fg_pdev->name;
 	err = acpi_check_resource_conflict(&res);
 	if (err)
-		return err;
+		goto exit_device_put;
 
 	err = platform_device_add_resources(f71882fg_pdev, &res, 1);
 	if (err) {
diff -up linux-2.6.28.x86_64/drivers/hwmon/vt1211.c~ linux-2.6.28.x86_64/drivers/hwmon/vt1211.c
--- linux-2.6.28.x86_64/drivers/hwmon/vt1211.c~	2009-01-30 11:21:32.000000000 +0100
+++ linux-2.6.28.x86_64/drivers/hwmon/vt1211.c	2009-01-30 11:21:32.000000000 +0100
@@ -1262,7 +1262,7 @@ static int __init vt1211_device_add(unsi
 	res.name = pdev->name;
 	err = acpi_check_resource_conflict(&res);
 	if (err)
-		goto EXIT;
+		goto EXIT_DEV_PUT;
 
 	err = platform_device_add_resources(pdev, &res, 1);
 	if (err) {
diff -up linux-2.6.28.x86_64/drivers/hwmon/w83627ehf.c~ linux-2.6.28.x86_64/drivers/hwmon/w83627ehf.c
--- linux-2.6.28.x86_64/drivers/hwmon/w83627ehf.c~	2009-01-30 11:22:26.000000000 +0100
+++ linux-2.6.28.x86_64/drivers/hwmon/w83627ehf.c	2009-01-30 11:22:26.000000000 +0100
@@ -1548,7 +1548,7 @@ static int __init sensors_w83627ehf_init
 
 	err = acpi_check_resource_conflict(&res);
 	if (err)
-		goto exit;
+		goto exit_device_put;
 
 	err = platform_device_add_resources(pdev, &res, 1);
 	if (err) {


Index: kernel.spec
===================================================================
RCS file: /cvs/extras/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1248
retrieving revision 1.1249
diff -u -r1.1248 -r1.1249
--- kernel.spec	30 Jan 2009 00:08:01 -0000	1.1248
+++ kernel.spec	30 Jan 2009 14:33:10 -0000	1.1249
@@ -623,7 +623,7 @@
 Patch391: linux-2.6-acpi-video-dos.patch
 Patch392: linux-2.6-acpi-strict-resources.patch
 Patch393: linux-2.6-hwmon-atk0110.patch
-Patch394: linux-2.6-hwmon-atk0110-fix-numbering.patch
+Patch394: linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch450: linux-2.6-input-kill-stupid-messages.patch
 Patch460: linux-2.6-serial-460800.patch
@@ -640,10 +640,6 @@
 
 Patch690: linux-2.6-at76.patch
 
-# webcam fixes
-Patch900: linux-2.6-gspca-git.patch
-Patch901: linux-2.6-gspca-stv06xx-git.patch
-
 Patch1515: linux-2.6.29-lirc.patch
 Patch1520: linux-2.6-hdpvr.patch
 
@@ -1093,7 +1089,7 @@
 ApplyPatch linux-2.6-acpi-video-dos.patch
 ApplyPatch linux-2.6-acpi-strict-resources.patch
 ApplyPatch linux-2.6-hwmon-atk0110.patch
-ApplyPatch linux-2.6-hwmon-atk0110-fix-numbering.patch
+ApplyPatch linux-2.6-hwmon-superio-fix-acpi-resource-check-error-handling.patch
 
 # Various low-impact patches to aid debugging.
 ApplyPatch linux-2.6-debug-sizeof-structs.patch
@@ -1157,10 +1153,6 @@
 # Add misc wireless bits from upstream wireless tree
 ApplyPatch linux-2.6-at76.patch
 
-# Webcam patches
-#ApplyPatch linux-2.6-gspca-git.patch
-#ApplyPatch linux-2.6-gspca-stv06xx-git.patch
-
 # http://www.lirc.org/
 ApplyPatch linux-2.6.29-lirc.patch
 # http://hg.jannau.net/hdpvr/
@@ -1783,6 +1775,12 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Fri Jan 30 2009 Hans de Goede <hdegoede at redhat.com>
+- Completely drop gspca patches (all upstream now)
+- Rebase atk0110 driver to latest from upstream
+- Fix some broken error paths in superio hwmon drivers triggered by the
+  new acpi_enforce_resources strict default (#483208)
+
 * Thu Jan 29 2009 Chuck Ebbert <cebbert at redhat.com>
 - Clean up EEPROM config.
 - Disable CONFIG_DEBUG_NOTIFIERS release kernel.

linux-2.6-hwmon-atk0110.patch:

Index: linux-2.6-hwmon-atk0110.patch
===================================================================
RCS file: /cvs/extras/rpms/kernel/devel/linux-2.6-hwmon-atk0110.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- linux-2.6-hwmon-atk0110.patch	23 Jan 2009 22:40:25 -0000	1.1
+++ linux-2.6-hwmon-atk0110.patch	30 Jan 2009 14:33:10 -0000	1.2
@@ -1,34 +1,31 @@
---- linux-2.6.git.orig/drivers/acpi/acpica/nsutils.c	2008-12-26 18:59:30.000000000 +0100
-+++ linux-2.6.git/drivers/acpi/acpica/nsutils.c	2008-12-26 18:59:38.000000000 +0100
-@@ -700,6 +700,7 @@
- 
- 	return (ACPI_CAST_PTR(struct acpi_namespace_node, handle));
- }
-+EXPORT_SYMBOL(acpi_ns_map_handle_to_node);
- 
- /*******************************************************************************
-  *
-@@ -736,6 +737,7 @@
- 	return ((acpi_handle) Node);
- ------------------------------------------------------*/
- }
-+EXPORT_SYMBOL(acpi_ns_convert_entry_to_handle);
- 
- /*******************************************************************************
-  *
-@@ -875,6 +877,7 @@
- 	ACPI_FREE(internal_path);
- 	return_ACPI_STATUS(status);
- }
-+EXPORT_SYMBOL(acpi_ns_get_node);
- 
- /*******************************************************************************
-  *
-Index: linux-2.6.git/drivers/acpi/namespace/nsxfeval.c
+Asus boards have an ACPI interface for interacting with the hwmon (fan,
+temperatures, voltages) subsystem; this driver exposes the relevant
+information via the standard sysfs interface.
+
+There are two different ACPI interfaces:
+- an old one (based on RVLT/RFAN/RTMP)
+- a new one (GGRP/GITM)
+Both may be present but there a few cases (my board, sigh) where the
+new interface is just an empty stub; the driver defaults to the old one
+when both are present.
+The old interface has received a considerable testing, but I'm still
+awaiting confirmation from my tester that the new one is working as
+expected (hence the debug code is still enabled).
+
+Currently all the attributes are read-only, though a (partial) control
+should be possible with a bit more work.
+
+Signed-off-by: Luca Tettamanti <kronos.it at gmail.com>
+---
+ drivers/acpi/acpica/nsxfeval.c |    3  drivers/hwmon/Kconfig          |   12  drivers/hwmon/Makefile         |    1  drivers/hwmon/asus_atk0110.c   | 1015 +++++++++++++++++++++++++++++++++++++++++
+ include/acpi/acpixf.h          |    2  5 files changed, 1029 insertions(+), 4 deletions(-)
+
+Index: b/include/acpi/acpixf.h
 ===================================================================
---- linux-2.6.git.orig/drivers/acpi/acpica/nsxfeval.c	2008-12-26 18:59:30.000000000 +0100
-+++ linux-2.6.git/drivers/acpi/acpica/nsxfeval.c	2008-12-26 18:59:38.000000000 +0100
-@@ -52,7 +52,6 @@
+diff -up vanilla-2.6.29-rc2-git1/drivers/acpi/acpica/nsxfeval.c.atk0110 vanilla-2.6.29-rc2-git1/drivers/acpi/acpica/nsxfeval.c
+--- vanilla-2.6.29-rc2-git1/drivers/acpi/acpica/nsxfeval.c.atk0110	2009-01-30 11:42:39.000000000 +0100
++++ vanilla-2.6.29-rc2-git1/drivers/acpi/acpica/nsxfeval.c	2009-01-30 11:42:54.000000000 +0100
+@@ -53,7 +53,6 @@ ACPI_MODULE_NAME("nsxfeval")
  /* Local prototypes */
  static void acpi_ns_resolve_references(struct acpi_evaluate_info *info);
  
@@ -36,7 +33,7 @@
  /*******************************************************************************
   *
   * FUNCTION:    acpi_evaluate_object_typed
-@@ -146,7 +145,7 @@
+@@ -147,7 +146,7 @@ acpi_evaluate_object_typed(acpi_handle h
  }
  
  ACPI_EXPORT_SYMBOL(acpi_evaluate_object_typed)
@@ -45,32 +42,45 @@
  /*******************************************************************************
   *
   * FUNCTION:    acpi_evaluate_object
-Index: linux-2.6.git/include/acpi/acpixf.h
-===================================================================
---- linux-2.6.git.orig/include/acpi/acpixf.h	2008-12-26 18:59:30.000000000 +0100
-+++ linux-2.6.git/include/acpi/acpixf.h	2008-12-26 18:59:38.000000000 +0100
-@@ -169,14 +169,12 @@
- 		     struct acpi_object_list *parameter_objects,
- 		     struct acpi_buffer *return_object_buffer);
+diff -up vanilla-2.6.29-rc2-git1/drivers/hwmon/Kconfig.atk0110 vanilla-2.6.29-rc2-git1/drivers/hwmon/Kconfig
+--- vanilla-2.6.29-rc2-git1/drivers/hwmon/Kconfig.atk0110	2009-01-30 11:42:39.000000000 +0100
++++ vanilla-2.6.29-rc2-git1/drivers/hwmon/Kconfig	2009-01-30 11:42:54.000000000 +0100
+@@ -248,6 +248,18 @@ config SENSORS_ASB100
+ 	  This driver can also be built as a module.  If so, the module
+ 	  will be called asb100.
  
--#ifdef ACPI_FUTURE_USAGE
- acpi_status
- acpi_evaluate_object_typed(acpi_handle object,
- 			   acpi_string pathname,
- 			   struct acpi_object_list *external_params,
- 			   struct acpi_buffer *return_buffer,
- 			   acpi_object_type return_type);
--#endif
++config SENSORS_ATK0110
++	tristate "ASUS ATK0110 ACPI hwmon"
++	depends on X86 && ACPI && EXPERIMENTAL
++	help
++	  If you say yes here you get support for the ACPI hardware
++	  monitoring interface found in many ASUS motherboards. This
++	  driver will provide readings of fans, voltages and temperatures
++	  through the system firmware.
++
++	  This driver can also be built as a module. If so, the module
++	  will be called asus_atk0110.
++
+ config SENSORS_ATXP1
+ 	tristate "Attansic ATXP1 VID controller"
+ 	depends on I2C && EXPERIMENTAL
+diff -up vanilla-2.6.29-rc2-git1/drivers/hwmon/Makefile.atk0110 vanilla-2.6.29-rc2-git1/drivers/hwmon/Makefile
+--- vanilla-2.6.29-rc2-git1/drivers/hwmon/Makefile.atk0110	2009-01-30 11:42:39.000000000 +0100
++++ vanilla-2.6.29-rc2-git1/drivers/hwmon/Makefile	2009-01-30 11:42:54.000000000 +0100
+@@ -32,6 +32,7 @@ obj-$(CONFIG_SENSORS_ADT7475)	+= adt7475
  
- acpi_status
- acpi_get_object_info(acpi_handle handle, struct acpi_buffer *return_buffer);
-Index: linux-2.6.git/drivers/hwmon/asus_atk0110.c
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.git/drivers/hwmon/asus_atk0110.c	2009-01-05 20:58:46.176128447 +0100
-@@ -0,0 +1,1019 @@
+ obj-$(CONFIG_SENSORS_APPLESMC)	+= applesmc.o
+ obj-$(CONFIG_SENSORS_AMS)	+= ams/
++obj-$(CONFIG_SENSORS_ATK0110)	+= asus_atk0110.o
+ obj-$(CONFIG_SENSORS_ATXP1)	+= atxp1.o
+ obj-$(CONFIG_SENSORS_CORETEMP)	+= coretemp.o
+ obj-$(CONFIG_SENSORS_DME1737)	+= dme1737.o
+diff -up /dev/null vanilla-2.6.29-rc2-git1/drivers/hwmon/asus_atk0110.c
+--- /dev/null	2009-01-30 08:26:34.337006080 +0100
++++ vanilla-2.6.29-rc2-git1/drivers/hwmon/asus_atk0110.c	2009-01-30 11:42:54.000000000 +0100
+@@ -0,0 +1,1015 @@
 +/*
-+ * Copyright (C) 2007-2009 Luca Tettamanti <kronos.it at gmail.com <http://lists.lm-sensors.org/mailman/listinfo/lm-sensors>>
++ * Copyright (C) 2007-2009 Luca Tettamanti <kronos.it at gmail.com>
 + *
 + * This file is released under the GPLv2
 + * See COPYING in the top level directory of the kernel tree.
@@ -84,16 +94,17 @@
 +#include <linux/module.h>
 +
 +#include <acpi/acpi.h>
++#include <acpi/acpixf.h>
 +#include <acpi/acpi_drivers.h>
 +#include <acpi/acpi_bus.h>
-+#include "../acpi/acpica/accommon.h"
-+#include "../acpi/acpica/acnamesp.h"
 +
 +
 +#define ATK_HID "ATK0110"
 +#define ATK_DRV "atk-hwmon"
-+#define ASOC "_SB.PCI0.SBRG.ASOC"
 +
++/* Minimum time between readings, enforced in order to avoid
++ * hogging the CPU.
++ */
 +#define CACHE_TIME		HZ
 +
 +#define BOARD_ID		"MBIF"
@@ -119,7 +130,7 @@
 +#define HWMON_TYPE_TEMP		0x00030000ULL
 +#define HWMON_TYPE_FAN		0x00040000ULL
 +
-+#define HWMON_SENSORS_ID_MASK	0x0000ffffULL
++#define HWMON_SENSOR_ID_MASK	0x0000ffffULL
 +
 +enum atk_pack_member {
 +	HWMON_PACK_FLAGS,
@@ -235,7 +246,6 @@
 +#define limit2_to_atk_sensor(attr) \
 +	container_of(attr, struct atk_sensor_data, limit2_attr)
 +
-+
 +static ssize_t atk_input_show(struct device *dev,
 +		struct device_attribute *attr, char *buf)
 +{
@@ -569,7 +579,7 @@
 +	int err;
 +
 +	if (!sensor->is_valid ||
-+	    time_after(jiffies, sensor->last_updated + CACHE_TIME)) {
++		time_after(jiffies, sensor->last_updated + CACHE_TIME)) {
 +		if (sensor->data->old_interface)
 +			err = atk_read_value_old(sensor, value);
 +		else
@@ -601,6 +611,7 @@
 +	u64 type;
 +	int err;
 +	int *num;
++	int start;
 +
 +	if (obj->type != ACPI_TYPE_PACKAGE) {
 +		/* wft is this? */
@@ -622,18 +633,21 @@
 +		limit1_name = "min";
 +		limit2_name = "max";
 +		num = &data->voltage_count;
++		start = 0;
 +		break;
 +	case HWMON_TYPE_TEMP:
 +		base_name = "temp";
 +		limit1_name = "max";
 +		limit2_name = "crit";
 +		num = &data->temperature_count;
++		start = 1;
 +		break;
 +	case HWMON_TYPE_FAN:
 +		base_name = "fan";
 +		limit1_name = "min";
 +		limit2_name = "max";
 +		num = &data->fan_count;
++		start = 1;
 +		break;
 +	default:
 +		dev_warn(dev, "Unknown sensor type: %#llx\n", type);
@@ -668,25 +682,25 @@
 +	sensor->limit2 = limit2->integer.value;
 +
 +	snprintf(sensor->input_attr_name, ATTR_NAME_SIZE,
-+			"%s%d_input", base_name, *num);
++			"%s%d_input", base_name, start + *num);
 +	atk_init_attribute(&sensor->input_attr,
 +			sensor->input_attr_name,
 +			atk_input_show);
 +
 +	snprintf(sensor->label_attr_name, ATTR_NAME_SIZE,
-+			"%s%d_label", base_name, *num);
++			"%s%d_label", base_name, start + *num);
 +	atk_init_attribute(&sensor->label_attr,
 +			sensor->label_attr_name,
 +			atk_label_show);
 +
 +	snprintf(sensor->limit1_attr_name, ATTR_NAME_SIZE,
-+			"%s%d_%s", base_name, *num, limit1_name);
++			"%s%d_%s", base_name, start + *num, limit1_name);
 +	atk_init_attribute(&sensor->limit1_attr,
 +			sensor->limit1_attr_name,
 +			atk_limit1_show);
 +
 +	snprintf(sensor->limit2_attr_name, ATTR_NAME_SIZE,
-+			"%s%d_%s", base_name, *num, limit2_name);
++			"%s%d_%s", base_name, start + *num, limit2_name);
 +	atk_init_attribute(&sensor->limit2_attr,
 +			sensor->limit2_attr_name,
 +			atk_limit2_show);
@@ -903,65 +917,65 @@
 +	return err;
 +}
 +
-+static int atk_check_old_if(struct atk_data *data, struct acpi_namespace_node *ns)
++static int atk_check_old_if(struct atk_data *data)
 +{
 +	struct device *dev = &data->acpi_dev->dev;
-+	struct acpi_namespace_node *ret;
++	acpi_handle ret;
 +	acpi_status status;
 +
 +	/* RTMP: read temperature */
-+	status = acpi_ns_get_node(ns, METHOD_OLD_READ_TMP, ACPI_NS_NO_UPSEARCH, &ret);
++	status = acpi_get_handle(data->atk_handle, METHOD_OLD_READ_TMP, &ret);
 +	if (status != AE_OK) {
 +		dev_dbg(dev, "method " METHOD_OLD_READ_TMP " not found: %s\n",
 +				acpi_format_exception(status));
 +		return -ENODEV;
 +	}
-+	data->rtmp_handle = acpi_ns_convert_entry_to_handle(ret);
++	data->rtmp_handle = ret;
 +
 +	/* RVLT: read voltage */
-+	status = acpi_ns_get_node(ns, METHOD_OLD_READ_VLT, ACPI_NS_NO_UPSEARCH, &ret);
++	status = acpi_get_handle(data->atk_handle, METHOD_OLD_READ_VLT, &ret);
 +	if (status != AE_OK) {
 +		dev_dbg(dev, "method " METHOD_OLD_READ_VLT " not found: %s\n",
 +				acpi_format_exception(status));
 +		return -ENODEV;
 +	}
-+	data->rvlt_handle = acpi_ns_convert_entry_to_handle(ret);
++	data->rvlt_handle = ret;
 +
 +	/* RFAN: read fan status */
-+	status = acpi_ns_get_node(ns, METHOD_OLD_READ_FAN, ACPI_NS_NO_UPSEARCH, &ret);
++	status = acpi_get_handle(data->atk_handle, METHOD_OLD_READ_FAN, &ret);
 +	if (status != AE_OK) {
 +		dev_dbg(dev, "method " METHOD_OLD_READ_FAN " not found: %s\n",
 +				acpi_format_exception(status));
 +		return -ENODEV;
 +	}
-+	data->rfan_handle = acpi_ns_convert_entry_to_handle(ret);
++	data->rfan_handle = ret;
 +
 +	return 0;
 +}
 +
-+static int atk_check_new_if(struct atk_data *data, struct acpi_namespace_node *ns)
++static int atk_check_new_if(struct atk_data *data)
 +{
 +	struct device *dev = &data->acpi_dev->dev;
-+	struct acpi_namespace_node *ret;
++	acpi_handle ret;
 +	acpi_status status;
 +
 +	/* Enumeration */
-+	status = acpi_ns_get_node(ns, METHOD_ENUMERATE, ACPI_NS_NO_UPSEARCH, &ret);
++	status = acpi_get_handle(data->atk_handle, METHOD_ENUMERATE, &ret);
 +	if (status != AE_OK) {
 +		dev_dbg(dev, "method " METHOD_ENUMERATE " not found: %s\n",
 +				acpi_format_exception(status));
 +		return -ENODEV;
 +	}
-+	data->enumerate_handle = acpi_ns_convert_entry_to_handle(ret);
++	data->enumerate_handle = ret;
 +
 +	/* De-multiplexer (read) */
-+	status = acpi_ns_get_node(ns, METHOD_READ, ACPI_NS_NO_UPSEARCH, &ret);
++	status = acpi_get_handle(data->atk_handle, METHOD_READ, &ret);
 +	if (status != AE_OK) {
 +		dev_dbg(dev, "method " METHOD_READ " not found: %s\n",
 +				acpi_format_exception(status));
 +		return -ENODEV;
 +	}
-+	data->read_handle = acpi_ns_convert_entry_to_handle(ret);
++	data->read_handle = ret;
 +
 +	return 0;
 +}
@@ -972,7 +986,6 @@
 +	int err;
 +	struct acpi_buffer buf;
 +	union acpi_object *obj;
-+	struct acpi_namespace_node *search_ns;
 +	struct atk_data *data;
 +
 +	dev_dbg(&device->dev, "adding...\n");
@@ -1002,24 +1015,17 @@
 +	}
 +	ACPI_FREE(buf.pointer);
 +
-+	/* Check for hwmon methods */
-+	search_ns = acpi_ns_map_handle_to_node(device->handle);
-+	if (!search_ns) {
-+		err = -ENODEV;
-+		goto out;
-+	}
-+
-+	/* First check "old" style methods; note that both may be present: in
-+	 * this case we stick to the old interface; analysis of multiple DSDTs
-+	 * indicates that when both interfaces are present the new one
-+	 * (GGRP/GITM) is not functional.
++	/* Check for hwmon methods: first check "old" style methods; note that
++	 * both may be present: in this case we stick to the old interface;
++	 * analysis of multiple DSDTs indicates that when both interfaces
++	 * are present the new one (GGRP/GITM) is not functional.
 +	 */
-+	err = atk_check_old_if(data, search_ns);
++	err = atk_check_old_if(data);
 +	if (!err) {
 +		dev_dbg(&device->dev, "Using old hwmon interface\n");
 +		data->old_interface = true;
 +	} else {
-+		err = atk_check_new_if(data, search_ns);
++		err = atk_check_new_if(data);
 +		if (err)
 +			goto out;
 +
@@ -1088,38 +1094,21 @@
 +module_exit(atk0110_exit);
 +
 +MODULE_LICENSE("GPL");
-Index: linux-2.6.git/drivers/hwmon/Kconfig
-===================================================================
---- linux-2.6.git.orig/drivers/hwmon/Kconfig	2008-12-26 18:59:30.000000000 +0100
-+++ linux-2.6.git/drivers/hwmon/Kconfig	2008-12-26 18:59:38.000000000 +0100
-@@ -238,6 +238,18 @@
- 	  This driver can also be built as a module.  If so, the module
- 	  will be called asb100.
+diff -up vanilla-2.6.29-rc2-git1/include/acpi/acpixf.h.atk0110 vanilla-2.6.29-rc2-git1/include/acpi/acpixf.h
+--- vanilla-2.6.29-rc2-git1/include/acpi/acpixf.h.atk0110	2009-01-30 11:42:39.000000000 +0100
++++ vanilla-2.6.29-rc2-git1/include/acpi/acpixf.h	2009-01-30 11:42:54.000000000 +0100
+@@ -187,14 +187,12 @@ acpi_evaluate_object(acpi_handle object,
+ 		     struct acpi_object_list *parameter_objects,
+ 		     struct acpi_buffer *return_object_buffer);
  
-+config SENSORS_ATK0110
-+	tristate "ASUS ATK0110 ACPI hwmon"
-+	depends on X86 && ACPI && EXPERIMENTAL
-+	help
-+	  If you say yes here you get support for the ACPI hardware
-+	  monitoring interface found in many ASUS motherboards. This
-+	  driver will provide readings of fans, voltages and temperatures
-+	  through the system firmware.
-+
-+	  This driver can also be built as a module. If so, the module
-+	  will be called asus_atk0110.
-+
- config SENSORS_ATXP1
- 	tristate "Attansic ATXP1 VID controller"
- 	depends on I2C && EXPERIMENTAL
-Index: linux-2.6.git/drivers/hwmon/Makefile
-===================================================================
---- linux-2.6.git.orig/drivers/hwmon/Makefile	2008-12-26 18:59:30.000000000 +0100
-+++ linux-2.6.git/drivers/hwmon/Makefile	2008-12-26 18:59:38.000000000 +0100
-@@ -30,6 +30,7 @@
- obj-$(CONFIG_SENSORS_ADT7473)	+= adt7473.o
- obj-$(CONFIG_SENSORS_APPLESMC)	+= applesmc.o
- obj-$(CONFIG_SENSORS_AMS)	+= ams/
-+obj-$(CONFIG_SENSORS_ATK0110)	+= asus_atk0110.o
- obj-$(CONFIG_SENSORS_ATXP1)	+= atxp1.o
- obj-$(CONFIG_SENSORS_CORETEMP)	+= coretemp.o
- obj-$(CONFIG_SENSORS_DME1737)	+= dme1737.o
+-#ifdef ACPI_FUTURE_USAGE
+ acpi_status
+ acpi_evaluate_object_typed(acpi_handle object,
+ 			   acpi_string pathname,
+ 			   struct acpi_object_list *external_params,
+ 			   struct acpi_buffer *return_buffer,
+ 			   acpi_object_type return_type);
+-#endif
+ 
+ acpi_status
+ acpi_get_object_info(acpi_handle handle, struct acpi_buffer *return_buffer);


--- linux-2.6-gspca-git.patch DELETED ---


--- linux-2.6-gspca-stv06xx-git.patch DELETED ---


--- linux-2.6-hwmon-atk0110-fix-numbering.patch DELETED ---




More information about the scm-commits mailing list