#include <linux/gpio.h>
#include <linux/of_gpio.h>
#include <linux/power/rockchip-adc-battery.h>
+#include <linux/rk_keys.h>
#include <linux/iio/iio.h>
#include <linux/iio/machine.h>
#include <linux/iio/driver.h>
extern int dwc_otg_check_dpdm(void);
static int is_charge_ok(struct rk30_adc_battery_data *bat);
static void rk30_adc_battery_voltage_samples(struct rk30_adc_battery_data *bat);
-extern void rk_send_wakeup_key(void);
static bool batt_gpio_is_valid(int number)
{
return number > 0 && number < 256;
gSecondsCnt = get_seconds();
/*data = kzalloc(sizeof(*data), GFP_KERNEL);*/
data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
- if (data == NULL) {
+ if (data == NULL)
ret = -ENOMEM;
- goto err_data_alloc_failed;
- }
/*pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);*/
pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
- if (pdata == NULL) {
+ if (pdata == NULL)
ret = -ENOMEM;
- goto err_pdata_alloc_failed;
- }
+
memset(data, 0, sizeof(struct rk30_adc_battery_data));
gBatteryData = data;
platform_set_drvdata(pdev, data);
err_ac_failed:
power_supply_unregister(&data ->ac);
+err_usb_failed:
err_battery_failed:
power_supply_unregister(&data ->bat);
#endif
err_io_init:
-
-err_pdata_alloc_failed:
- kfree(pdata);
-err_data_alloc_failed:
- kfree(data);
-
printk("rk30_adc_battery: error!\n");
return ret;
power_supply_unregister(&data ->bat);
if (batt_gpio_is_valid(pdata->dc_det_pin))
free_irq(gpio_to_irq(pdata->dc_det_pin), data);
-
- kfree(data);
return 0;
}