Skip to content

Commit 18494ff

Browse files
authored
Merge pull request #120 from maximschwalm/master
Chagall & Transformer EC updates
2 parents 75d778a + 850eaf4 commit 18494ff

File tree

7 files changed

+28
-45
lines changed

7 files changed

+28
-45
lines changed

drivers/input/keyboard/asus-ec-keys.c

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later
22
/*
33
* ASUS Transformer Pad - multimedia keys
4-
*
54
*/
65

76
#include <linux/i2c.h>

drivers/input/serio/asus-ec-kbc.c

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*
55
* This looks suspiciously similar to i8042, but wrapped in
66
* I2C/SMBus packets.
7-
*
87
*/
98

109
#include <linux/i2c.h>

drivers/leds/leds-asus-ec.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ static int asusec_led_probe(struct platform_device *pdev)
7171
ret = devm_led_classdev_register(&pdev->dev, amber_led);
7272
if (ret)
7373
return dev_err_probe(&pdev->dev, ret,
74-
"can't register AMBER LED\n");
74+
"failed to register amber LED\n");
7575

7676
green_led = devm_kzalloc(&pdev->dev, sizeof(*green_led), GFP_KERNEL);
7777
if (!green_led)
@@ -89,7 +89,7 @@ static int asusec_led_probe(struct platform_device *pdev)
8989
ret = devm_led_classdev_register(&pdev->dev, green_led);
9090
if (ret)
9191
return dev_err_probe(&pdev->dev, ret,
92-
"can't register GREEN LED\n");
92+
"failed to register green LED\n");
9393

9494
return 0;
9595
}

drivers/misc/asus-dockram.c

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later
22
/*
33
* ASUS EC: DockRAM
4-
*
54
*/
65

76
#include <asm/unaligned.h>
@@ -189,7 +188,7 @@ static ssize_t control_reg_show(struct device *dev,
189188
if (ret < 0)
190189
return ret;
191190

192-
return snprintf(buf, PAGE_SIZE, "%016llx\n", val);
191+
return sysfs_emit(buf, "%016llx\n", val);
193192
}
194193

195194
static ssize_t control_reg_store(struct device *dev,

drivers/power/supply/asus-ec-battery.c

+7-12
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later
22
/*
33
* ASUS EC driver - battery monitoring
4-
*
54
*/
65

6+
#include <linux/devm-helpers.h>
77
#include <linux/module.h>
88
#include <linux/mutex.h>
99
#include <linux/of.h>
@@ -260,6 +260,7 @@ static int asusec_battery_probe(struct platform_device *pdev)
260260
struct asusec_battery_data *priv;
261261
struct asusec_platform_data *pdata = dev_get_platdata(&pdev->dev);
262262
struct power_supply_config cfg = {};
263+
int ret;
263264

264265
priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
265266
if (!priv)
@@ -292,22 +293,17 @@ static int asusec_battery_probe(struct platform_device *pdev)
292293
dev_warn(&pdev->dev,
293294
"No monitored battery, some properties will be missing\n");
294295

295-
INIT_DELAYED_WORK(&priv->poll_work, asusec_battery_poll_work);
296+
ret = devm_delayed_work_autocancel(&pdev->dev, &priv->poll_work,
297+
asusec_battery_poll_work);
298+
if (ret)
299+
return ret;
300+
296301
schedule_delayed_work(&priv->poll_work,
297302
msecs_to_jiffies(ASUSEC_BATTERY_DATA_FRESH_MSEC));
298303

299304
return 0;
300305
}
301306

302-
static int asusec_battery_remove(struct platform_device *pdev)
303-
{
304-
struct asusec_battery_data *priv = dev_get_drvdata(&pdev->dev);
305-
306-
cancel_delayed_work_sync(&priv->poll_work);
307-
308-
return 0;
309-
}
310-
311307
static int __maybe_unused asusec_battery_suspend(struct device *dev)
312308
{
313309
struct asusec_battery_data *priv = dev_get_drvdata(dev);
@@ -336,7 +332,6 @@ static struct platform_driver asusec_battery_driver = {
336332
.pm = &asusec_battery_pm_ops,
337333
},
338334
.probe = asusec_battery_probe,
339-
.remove = asusec_battery_remove,
340335
};
341336
module_platform_driver(asusec_battery_driver);
342337

drivers/power/supply/asus-ec-charger.c

+7-12
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// SPDX-License-Identifier: GPL-2.0-or-later
22
/*
33
* ASUS EC driver - charging monitoring
4-
*
54
*/
65

76
#include <linux/delay.h>
7+
#include <linux/devm-helpers.h>
88
#include <linux/module.h>
99
#include <linux/mutex.h>
1010
#include <linux/of.h>
@@ -130,6 +130,7 @@ static int asusec_charger_probe(struct platform_device *pdev)
130130
struct asusec_charger_data *priv;
131131
struct asusec_platform_data *pdata = dev_get_platdata(&pdev->dev);
132132
struct power_supply_config cfg = {};
133+
int ret;
133134

134135
priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
135136
if (!priv)
@@ -164,22 +165,17 @@ static int asusec_charger_probe(struct platform_device *pdev)
164165
return dev_err_probe(&pdev->dev, PTR_ERR(priv->charger),
165166
"Failed to register power supply\n");
166167

167-
INIT_DELAYED_WORK(&priv->poll_work, asusec_charger_poll_work);
168+
ret = devm_delayed_work_autocancel(&pdev->dev, &priv->poll_work,
169+
asusec_charger_poll_work);
170+
if (ret)
171+
return ret;
172+
168173
schedule_delayed_work(&priv->poll_work,
169174
msecs_to_jiffies(ASUSEC_CHARGER_DELAY_MSEC));
170175

171176
return 0;
172177
}
173178

174-
static int asusec_charger_remove(struct platform_device *pdev)
175-
{
176-
struct asusec_charger_data *priv = dev_get_drvdata(&pdev->dev);
177-
178-
cancel_delayed_work_sync(&priv->poll_work);
179-
180-
return 0;
181-
}
182-
183179
static int __maybe_unused asusec_charger_suspend(struct device *dev)
184180
{
185181
struct asusec_charger_data *priv = dev_get_drvdata(dev);
@@ -208,7 +204,6 @@ static struct platform_driver asusec_charger_driver = {
208204
.pm = &asusec_charger_pm_ops,
209205
},
210206
.probe = asusec_charger_probe,
211-
.remove = asusec_charger_remove,
212207
};
213208
module_platform_driver(asusec_charger_driver);
214209

drivers/power/supply/chagall-battery.c

+11-15
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55

66
#include <linux/delay.h>
7+
#include <linux/devm-helpers.h>
78
#include <linux/err.h>
89
#include <linux/i2c.h>
910
#include <linux/leds.h>
@@ -318,11 +319,12 @@ static int chagall_battery_probe(struct i2c_client *client)
318319

319320
cg->battery = devm_power_supply_register(&client->dev, &chagall_battery_desc, &cfg);
320321
if (IS_ERR(cg->battery))
321-
return PTR_ERR(cg->battery);
322+
return dev_err_probe(&client->dev, PTR_ERR(cg->battery),
323+
"failed to register power supply\n");
322324

323325
if (power_supply_get_battery_info(cg->battery, &cg->batt_info))
324326
dev_warn(&client->dev,
325-
"No monitored battery, some properties will be missing\n");
327+
"no monitored battery, some properties will be missing\n");
326328

327329
cg->amber_led.name = "power::amber";
328330
cg->amber_led.max_brightness = 1;
@@ -332,7 +334,7 @@ static int chagall_battery_probe(struct i2c_client *client)
332334
ret = devm_led_classdev_register(&client->dev, &cg->amber_led);
333335
if (ret)
334336
return dev_err_probe(&client->dev, ret,
335-
"can't register AMBER LED\n");
337+
"failed to register amber LED\n");
336338

337339
cg->white_led.name = "power::white";
338340
cg->white_led.max_brightness = 1;
@@ -342,27 +344,22 @@ static int chagall_battery_probe(struct i2c_client *client)
342344
ret = devm_led_classdev_register(&client->dev, &cg->white_led);
343345
if (ret)
344346
return dev_err_probe(&client->dev, ret,
345-
"can't register WHITE LED\n");
347+
"failed to register white LED\n");
346348

347349
led_set_brightness(&cg->amber_led, LED_OFF);
348350
led_set_brightness(&cg->white_led, LED_OFF);
349351

350-
INIT_DELAYED_WORK(&cg->poll_work, chagall_battery_poll_work);
352+
ret = devm_delayed_work_autocancel(&client->dev, &cg->poll_work,
353+
chagall_battery_poll_work);
354+
if (ret)
355+
return ret;
356+
351357
schedule_delayed_work(&cg->poll_work,
352358
msecs_to_jiffies(CHAGALL_BATTERY_DATA_REFRESH));
353359

354360
return 0;
355361
}
356362

357-
static int chagall_battery_remove(struct i2c_client *client)
358-
{
359-
struct chagall_battery_data *cg = i2c_get_clientdata(client);
360-
361-
cancel_delayed_work_sync(&cg->poll_work);
362-
363-
return 0;
364-
}
365-
366363
static int __maybe_unused chagall_battery_suspend(struct device *dev)
367364
{
368365
struct i2c_client *client = to_i2c_client(dev);
@@ -400,7 +397,6 @@ static struct i2c_driver chagall_battery_driver = {
400397
.of_match_table = chagall_match,
401398
},
402399
.probe_new = chagall_battery_probe,
403-
.remove = chagall_battery_remove,
404400
};
405401
module_i2c_driver(chagall_battery_driver);
406402

0 commit comments

Comments
 (0)