summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--debian/changelog6
-rw-r--r--debian/postinst2
-rw-r--r--debian/postrm2
-rw-r--r--debian/prerm2
-rwxr-xr-xdebian/rules2
-rw-r--r--usr/src/dkms_source_tree/applesmc.c68
-rw-r--r--usr/src/dkms_source_tree/dkms.conf2
8 files changed, 42 insertions, 44 deletions
diff --git a/Makefile b/Makefile
index 04eed92..510f89f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
1NAME = applesmc 1NAME = applesmc
2VERSION = 0.16.0 2VERSION = 0.16.1
3SRC = usr/src 3SRC = usr/src
4 4
5TARBALL = $(NAME)-$(VERSION).dkms.tar.gz 5TARBALL = $(NAME)-$(VERSION).dkms.tar.gz
diff --git a/debian/changelog b/debian/changelog
index 6354545..6d5aa9a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
1applesmc-dkms (0.16.1) unstable; urgency=low
2
3 * Update applesmc to kernel version 2.6.34-rc6+pending
4
5 -- Henrik Rydberg <rydberg@euromail.se> Tue, 04 May 2010 15:34:25 +0200
6
1applesmc-dkms (0.16.0) unstable; urgency=low 7applesmc-dkms (0.16.0) unstable; urgency=low
2 8
3 * Add names for temperature sensors to sysfs 9 * Add names for temperature sensors to sysfs
diff --git a/debian/postinst b/debian/postinst
index 284cb05..518057c 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -3,7 +3,7 @@
3set -e 3set -e
4 4
5NAME=applesmc 5NAME=applesmc
6VERSION=0.16.0 6VERSION=0.16.1
7 7
8case "$1" in 8case "$1" in
9 configure) 9 configure)
diff --git a/debian/postrm b/debian/postrm
index f3fdfa8..b4c3194 100644
--- a/debian/postrm
+++ b/debian/postrm
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAME=applesmc 3NAME=applesmc
4VERSION=0.16.0 4VERSION=0.16.1
5 5
6set -e 6set -e
7 7
diff --git a/debian/prerm b/debian/prerm
index 289774d..1015550 100644
--- a/debian/prerm
+++ b/debian/prerm
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAME=applesmc 3NAME=applesmc
4VERSION=0.16.0 4VERSION=0.16.1
5 5
6set -e 6set -e
7 7
diff --git a/debian/rules b/debian/rules
index cb78873..eab2f2e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,7 +5,7 @@
5#export DH_VERBOSE=1 5#export DH_VERBOSE=1
6 6
7NAME=applesmc 7NAME=applesmc
8VERSION=0.16.0 8VERSION=0.16.1
9 9
10configure: configure-stamp 10configure: configure-stamp
11configure-stamp: 11configure-stamp:
diff --git a/usr/src/dkms_source_tree/applesmc.c b/usr/src/dkms_source_tree/applesmc.c
index 7af6fe0..b6598aa 100644
--- a/usr/src/dkms_source_tree/applesmc.c
+++ b/usr/src/dkms_source_tree/applesmc.c
@@ -209,6 +209,9 @@ static unsigned int applesmc_accelerometer;
209/* Indicates whether this computer has light sensors and keyboard backlight. */ 209/* Indicates whether this computer has light sensors and keyboard backlight. */
210static unsigned int applesmc_light; 210static unsigned int applesmc_light;
211 211
212/* The number of fans handled by the driver */
213static unsigned int fans_handled;
214
212/* Indicates which temperature sensors set to use. */ 215/* Indicates which temperature sensors set to use. */
213static unsigned int applesmc_temperature_set; 216static unsigned int applesmc_temperature_set;
214 217
@@ -1387,8 +1390,9 @@ static struct attribute *temperature_attributes[] = {
1387static const struct attribute_group temperature_attributes_group = 1390static const struct attribute_group temperature_attributes_group =
1388 { .attrs = temperature_attributes }; 1391 { .attrs = temperature_attributes };
1389 1392
1390static const struct attribute_group label_attributes_group = 1393static const struct attribute_group label_attributes_group = {
1391 { .attrs = label_attributes }; 1394 .attrs = label_attributes
1395};
1392 1396
1393/* Module stuff */ 1397/* Module stuff */
1394 1398
@@ -1668,39 +1672,24 @@ static int __init applesmc_init(void)
1668 1672
1669 /* create fan files */ 1673 /* create fan files */
1670 count = applesmc_get_fan_count(); 1674 count = applesmc_get_fan_count();
1671 if (count < 0) { 1675 if (count < 0)
1672 printk(KERN_ERR "applesmc: Cannot get the number of fans.\n"); 1676 printk(KERN_ERR "applesmc: Cannot get the number of fans.\n");
1673 } else { 1677 else
1674 printk(KERN_INFO "applesmc: %d fans found.\n", count); 1678 printk(KERN_INFO "applesmc: %d fans found.\n", count);
1675 1679
1676 switch (count) { 1680 if (count > 4) {
1677 default: 1681 count = 4;
1678 printk(KERN_WARNING "applesmc: More than 4 fans found," 1682 printk(KERN_WARNING "applesmc: More than 4 fans found,"
1679 " but at most 4 fans are supported" 1683 " but at most 4 fans are supported"
1680 " by the driver.\n"); 1684 " by the driver.\n");
1681 case 4: 1685 }
1682 ret = sysfs_create_group(&pdev->dev.kobj, 1686
1683 &fan_attribute_groups[3]); 1687 while (fans_handled < count) {
1684 if (ret) 1688 ret = sysfs_create_group(&pdev->dev.kobj,
1685 goto out_key_enumeration; 1689 &fan_attribute_groups[fans_handled]);
1686 case 3: 1690 if (ret)
1687 ret = sysfs_create_group(&pdev->dev.kobj, 1691 goto out_fans;
1688 &fan_attribute_groups[2]); 1692 fans_handled++;
1689 if (ret)
1690 goto out_key_enumeration;
1691 case 2:
1692 ret = sysfs_create_group(&pdev->dev.kobj,
1693 &fan_attribute_groups[1]);
1694 if (ret)
1695 goto out_key_enumeration;
1696 case 1:
1697 ret = sysfs_create_group(&pdev->dev.kobj,
1698 &fan_attribute_groups[0]);
1699 if (ret)
1700 goto out_fan_1;
1701 case 0:
1702 ;
1703 }
1704 } 1693 }
1705 1694
1706 for (i = 0; 1695 for (i = 0;
@@ -1717,6 +1706,8 @@ static int __init applesmc_init(void)
1717 } 1706 }
1718 ret = sysfs_create_file(&pdev->dev.kobj, 1707 ret = sysfs_create_file(&pdev->dev.kobj,
1719 temperature_attributes[i]); 1708 temperature_attributes[i]);
1709 if (ret)
1710 goto out_temperature;
1720 ret = sysfs_create_file(&pdev->dev.kobj, 1711 ret = sysfs_create_file(&pdev->dev.kobj,
1721 label_attributes[i]); 1712 label_attributes[i]);
1722 if (ret) 1713 if (ret)
@@ -1773,10 +1764,10 @@ out_accelerometer:
1773out_temperature: 1764out_temperature:
1774 sysfs_remove_group(&pdev->dev.kobj, &label_attributes_group); 1765 sysfs_remove_group(&pdev->dev.kobj, &label_attributes_group);
1775 sysfs_remove_group(&pdev->dev.kobj, &temperature_attributes_group); 1766 sysfs_remove_group(&pdev->dev.kobj, &temperature_attributes_group);
1776 sysfs_remove_group(&pdev->dev.kobj, &fan_attribute_groups[0]); 1767out_fans:
1777out_fan_1: 1768 while (fans_handled)
1778 sysfs_remove_group(&pdev->dev.kobj, &fan_attribute_groups[1]); 1769 sysfs_remove_group(&pdev->dev.kobj,
1779out_key_enumeration: 1770 &fan_attribute_groups[--fans_handled]);
1780 sysfs_remove_group(&pdev->dev.kobj, &key_enumeration_group); 1771 sysfs_remove_group(&pdev->dev.kobj, &key_enumeration_group);
1781out_name: 1772out_name:
1782 sysfs_remove_file(&pdev->dev.kobj, &dev_attr_name.attr); 1773 sysfs_remove_file(&pdev->dev.kobj, &dev_attr_name.attr);
@@ -1803,8 +1794,9 @@ static void __exit applesmc_exit(void)
1803 applesmc_release_accelerometer(); 1794 applesmc_release_accelerometer();
1804 sysfs_remove_group(&pdev->dev.kobj, &label_attributes_group); 1795 sysfs_remove_group(&pdev->dev.kobj, &label_attributes_group);
1805 sysfs_remove_group(&pdev->dev.kobj, &temperature_attributes_group); 1796 sysfs_remove_group(&pdev->dev.kobj, &temperature_attributes_group);
1806 sysfs_remove_group(&pdev->dev.kobj, &fan_attribute_groups[0]); 1797 while (fans_handled)
1807 sysfs_remove_group(&pdev->dev.kobj, &fan_attribute_groups[1]); 1798 sysfs_remove_group(&pdev->dev.kobj,
1799 &fan_attribute_groups[--fans_handled]);
1808 sysfs_remove_group(&pdev->dev.kobj, &key_enumeration_group); 1800 sysfs_remove_group(&pdev->dev.kobj, &key_enumeration_group);
1809 sysfs_remove_file(&pdev->dev.kobj, &dev_attr_name.attr); 1801 sysfs_remove_file(&pdev->dev.kobj, &dev_attr_name.attr);
1810 platform_device_unregister(pdev); 1802 platform_device_unregister(pdev);
diff --git a/usr/src/dkms_source_tree/dkms.conf b/usr/src/dkms_source_tree/dkms.conf
index 141298a..0e3b9fe 100644
--- a/usr/src/dkms_source_tree/dkms.conf
+++ b/usr/src/dkms_source_tree/dkms.conf
@@ -1,5 +1,5 @@
1NAME=applesmc 1NAME=applesmc
2VERSION=0.16.0 2VERSION=0.16.1
3PACKAGE_NAME="$NAME" 3PACKAGE_NAME="$NAME"
4PACKAGE_VERSION="$VERSION" 4PACKAGE_VERSION="$VERSION"
5MAKE[0]="make -C ${kernel_source_dir} 5MAKE[0]="make -C ${kernel_source_dir}