Bladeren bron

拆分hwmon节点出来

liu qidong [url ssh://qidong.liu@10.2.90.253:29418/] 1 maand geleden
bovenliggende
commit
d7ed9ab826
3 gewijzigde bestanden met toevoegingen van 17 en 19 verwijderingen
  1. 1 1
      Makefile
  2. 7 18
      fan.c
  3. 9 0
      main.c

+ 1 - 1
Makefile

@@ -17,7 +17,7 @@ all:
 	make CROSS_COMPILE=~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu- -C $(KERNELDIR) M=$(PWD) modules
 	~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/setss.c -DPROJECT=$(PROJECT_NAME) -o test_app/setss
 	~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/test_beep.c -DPROJECT=$(PROJECT_NAME) -o test_app/beep
-	~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/cash_app.c -DPROJECT=$(PROJECT_NAME) -o test_app/cash_app
+	~/timesys/SDK64Bit-V6_02_00/toolchain/bin/x86_64-timesys-linux-gnu-gcc test_app/cash_app.c -DPROJECT=$(PROJECT_NAME) -o test_app/cash_app -lpthread
 
 clean:
 	rm -rf *.o test_app/setss

+ 7 - 18
fan.c

@@ -567,8 +567,7 @@ struct it87_data {
 };
 
 
-extern struct kobject *vfiec_kobj;
-static struct kobject *fan_kobj = NULL;
+extern struct kobject *hwmon_kobj;
 struct device *dev_it87 = NULL;
 
 
@@ -4311,30 +4310,20 @@ int fan_init(void)
 		err = -ENODEV;
 		goto exit_unregister;
 	}
-    fan_kobj = kobject_create_and_add("hwmon", vfiec_kobj);
-    if (!fan_kobj)
-    {
-        err = -ENOMEM;
-        goto exit_dev_unregister;
-    }
-    else
-    {
-        printk(KERN_INFO "Faifan to create sysfs node\n");
-    }
 
-    err = sysfs_create_group(fan_kobj, &fan_attr_group);
+    err = sysfs_create_group(hwmon_kobj, &fan_attr_group);
     if (err)
     {
         pr_err("Faifan to create sysfs group: %d\n", err);
-        goto free_fan_kobj;
+        goto free_hwmon_kobj;
     }
     else
     {
         printk(KERN_INFO "Create sysfs group success\n");
     }
 	return 0;
-free_fan_kobj:
-    kobject_put(fan_kobj);
+free_hwmon_kobj:
+    kobject_put(hwmon_kobj);
 exit_dev_unregister:
 	/* NULL check handled by platform_device_unregister */
 	platform_device_unregister(it87_pdev[0]);
@@ -4349,8 +4338,8 @@ void fan_exit(void)
 	platform_device_unregister(it87_pdev[1]);
 	platform_device_unregister(it87_pdev[0]);
 	platform_driver_unregister(&it87_driver);
-    sysfs_remove_group(fan_kobj, &fan_attr_group);
-    kobject_put(fan_kobj);
+    sysfs_remove_group(hwmon_kobj, &fan_attr_group);
+    kobject_put(hwmon_kobj);
 }
 
 module_param(update_vbat, bool, 0);

+ 9 - 0
main.c

@@ -35,6 +35,7 @@
 #include "smart_battery.h"
 
 struct kobject *vfiec_kobj = NULL;
+struct kobject *hwmon_kobj = NULL;
 
 static int __init all_driver_init(void)
 {
@@ -46,6 +47,14 @@ static int __init all_driver_init(void)
         return ret;
     }
 
+    hwmon_kobj = kobject_create_and_add("hwmon", vfiec_kobj);
+    if (!hwmon_kobj)
+    {
+        kobject_put(vfiec_kobj);
+        ret = -ENOMEM;
+        return ret;
+    }
+
 
     ret = backlight_init();
     if(ret != 0)