Skip to content

Commit

Permalink
usbled: final cleanup
Browse files Browse the repository at this point in the history
Change-Id: I866d722a7ec22f0cf7105bc5438457c6265c7090
  • Loading branch information
tpruvot authored and Quarx2k committed Jun 6, 2012
1 parent e38eb89 commit 580a7e8
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 22 deletions.
Binary file modified modules/usbled.ko
Binary file not shown.
35 changes: 13 additions & 22 deletions modules/usbled/usb-led.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,7 @@ SYMSEARCH_DECLARE_FUNCTION_STATIC(int, _cpcap_device_unregister,struct platform_
SYMSEARCH_DECLARE_FUNCTION_STATIC(int, _cpcap_regacc_write, struct cpcap_device *cpcap, enum cpcap_reg reg, unsigned short value, unsigned short mask);
SYMSEARCH_DECLARE_FUNCTION_STATIC(int, _cpcap_regacc_read, struct cpcap_device *cpcap, enum cpcap_reg reg, unsigned short *value_ptr);

static void ld_cpcap_usbled_release(struct device *dev)
{
pr_debug("%s\n", __func__);
}
static void ld_cpcap_usbled_release(struct device *dev) {}

static struct platform_device cpcap_usbled_device = {
.name = "cpcap_usbled",
Expand Down Expand Up @@ -94,12 +91,10 @@ static int ld_cpcap_usbled_probe(struct platform_device *pdev)
info->cpcap = pdev->dev.platform_data;
platform_set_drvdata(pdev, info);

ret = _cpcap_regacc_read(info->cpcap,
CPCAP_REG_CRM, &value);
ret = _cpcap_regacc_read(info->cpcap, CPCAP_REG_CRM, &value);
if (ret < 0) {
pr_err("%s: Reading CPCAP failed: \n", __func__);
kfree(info);
return ret;
pr_err("%s: unable to read CPCAP reg, error %d\n", __func__, ret);
goto err_free;
}
value &= CPCAP_BIT_CHRG_LED_EN;

Expand All @@ -110,9 +105,8 @@ static int ld_cpcap_usbled_probe(struct platform_device *pdev)

ret = led_classdev_register(&pdev->dev, &info->ld_cpcap_usbled_class_dev);
if (ret < 0) {
pr_err("%s: Register led class failed: \n", __func__);
kfree(info);
return ret;
pr_err("%s: class register error %d\n", __func__, ret);
goto err_free;
} else {
/* update sysfs attributes to allow changes by all */
struct device *dev = info->ld_cpcap_usbled_class_dev.dev;
Expand All @@ -121,21 +115,20 @@ static int ld_cpcap_usbled_probe(struct platform_device *pdev)
ret = sysfs_chmod_file(&dev->kobj, &attr, 0666);
}
}

return ret;
err_free:
kfree(info);
return ret;
}

static int ld_cpcap_usbled_remove(struct platform_device *pdev)
{
struct usb_led_data *info = platform_get_drvdata(pdev);

led_classdev_unregister(&info->ld_cpcap_usbled_class_dev);

if (info != NULL) {
if (info) {
led_classdev_unregister(&info->ld_cpcap_usbled_class_dev);
info->cpcap = NULL;
kfree(info);
}

return 0;
}

Expand Down Expand Up @@ -166,22 +159,20 @@ static int __init ld_cpcap_usbled_init(void)

ret = cpcap_driver_register(&ld_cpcap_usbled_driver);
if (ret < 0) {
pr_err("%s: init cpcap usb led driver failed: err %d\n", __func__, ret);
pr_err("%s: driver register error %d\n", __func__, ret);
return ret;
}
ret = _cpcap_device_register(&cpcap_usbled_device);
if (ret < 0) {
pr_err("%s: init cpcap usb led device failed: err %d\n", __func__, ret);
pr_err("%s: device register error %d\n", __func__, ret);
return ret;
}

return ret;
}

static void __exit ld_cpcap_usbled_exit(void)
{
cpcap_usbled_unregister();

platform_driver_unregister(&ld_cpcap_usbled_driver);
}

Expand Down

0 comments on commit 580a7e8

Please sign in to comment.