From patchwork Wed Mar 5 05:30:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Armin Wolf X-Patchwork-Id: 870741 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E3CA192D97; Wed, 5 Mar 2025 05:30:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741152626; cv=none; b=ZzMC26Gi87Jlt9DBvkwF++yCdKukfDDDuO4PAvLtp82hYtqMFzdB6jptzwWZNImZJwL+KdLY1MmydKfayJndq3YuQNLbXVrU4NI8NeSIbU50XQrtvxYfyzK7VoYHwjIGNfCg7h3osYhFfUt5T7IEq1C9Z/Wjp2sqjlCphIPMpkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741152626; c=relaxed/simple; bh=Cu4aMMTSPnkinZYxHlGE0uO+4DCXUphDPMuHClD9W5E=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=IvORcDhuoRbSru/eLVnqoshgwZuZF+opPQ+thdjjUvDOsLzMngqX1XBFIuUK1T2rmVlIGPDr940+LfYuTzOySDFdQ+Hu9jlaa4UBVQOr7pKUuX49jcl++Y+irXyCV3NxNVOFGfz3jhcVGuElfPJOwQHuWk+vOw7Wufj6rZyxV8E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=HPTqzKAk; arc=none smtp.client-ip=212.227.15.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="HPTqzKAk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1741152622; x=1741757422; i=w_armin@gmx.de; bh=ZHyHXS2eq9YUdF65i2BBBNBkWwwkeESwiml5J84ESYE=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=HPTqzKAkT95GZ+y4lnXFlx215jz5JHLOeJWMzy5K6mViKa1/XaCiOJoIsye+DnLc kWW+tcoJGKkHY4IeBy9B6HX3TFzD8I3T6b8qzUyA/C2Tib/GmjNihJluumkDQkVaL CrZ7dXW8hMfDk6A5tioUCikded5rKmD96vAFK4QqRogfQbH+mZ+AfdYmoNbNihjD3 QbtkgA1FzboK3bH3iZJPPZGSKr1FjvUtUNHcZTsPY/ucsvsbE6xHfbFHHI3rZuQ9G KqBbCJpS24vGEMc4+51S8TZM1ykyEsZb7fJ2lGbvVpDbfgOFSLrDEjpR7uYV5THHh sc9cnuaOeSn1sS3sSg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([87.177.78.219]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mn2aD-1tNCzy2uFr-00hjvn; Wed, 05 Mar 2025 06:30:21 +0100 From: Armin Wolf To: hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, sre@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] platform/x86: dell-ddv: Use devm_battery_hook_register Date: Wed, 5 Mar 2025 06:30:08 +0100 Message-Id: <20250305053009.378609-3-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250305053009.378609-1-W_Armin@gmx.de> References: <20250305053009.378609-1-W_Armin@gmx.de> Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:kERdTMHOAJNAs1LzeC4QxeaeaSpx/Wnl3duXrBk1IqCZQzs1PL9 x7y611wnvq1JS2iFk34MTnY7hkNSTjFN7wk7nrMgzmwW3mdkzhprZ40fitOVBkinRUmHyIf qj+HcjGAZV0yPig2zUG2sBXgqQJQzu+aR5QeshQC8Ehr6ZDMw2MWzJSIC2J9g3fLUMYtlTw jU+DkcOlLyWb9vorhkXrA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:a+p/RyqkFNk=;nn7gX4oA2VI7R7GohKLuLHhX/MA tnWePq14g9MqeZyXmtTj2dGXVUZCOPrGOGr4uGPxcR/Ut3h2SdRUC78mXaJkAwndTfWqqlT5q BjuAm7GhnGTlgs+IwX6AqxIkORLJvNXTCJgY5gw47XJzqKa+YBuYad8s852QATxVBuue0rq5l 8cL5aXsSIE+7pk7ljSjXkTtokBMqS/jUy8pXpEqMJy9zGbEttAZgCQGjNrPGf/PIaI/VfJ4zc tjtK1MBP82PxIT50hX2WjB8Tohk7zqFOohBIxwFhrYwS9kkRfBgwqDjJf0dYcK1qDhcUO/rG8 UvCoQXj44qqgCWpRQg85iP/3sCFnyKhpKDTXg5a04Pnkip5a+cbvZ0yUlpWGBZD8uve6mosLA kZZYbukdjzq8BublYWiY+C2u58VAD/p0bB69E85GAmQFk/cGwK+NF0/DiC/OJ+0IDLSv63tAD PrSNveDYUd2ZwBp3qGMRgOnIdnog8uf/z2YhXYVRenjy1UacHt8RVR27PhDGCYU0EKxu90xB9 O+QwpVkKh26XtPVog5nCNIugTyD/svEtiS/bxjF7zXU18ZJvl084640EHBXvHZpF5fHNh0jWU zak5+BcFxRtsJmGHDCLmdkoqDR9rXhMTz34z6wB5I94GlwCgfrcILmUeJHwbhpo2issgWGncK mu7yp74YgYMbEfY28f5bzHaQk8yEx7/ihlheipBfP4VNRCKEYFgQHMFwMX9Y8ASfRd4+L4xrl +UGuXngMv5pSK8i4NdG7WYNXC8QAKNoxtC3NkS559EXOoixoI9ybtrKCe9E0VRtgvSlH5TI50 TgWeT9+UOC+Fv4Ryb76yqykWVjU/h7Jl2S0UDhuBIyXytxFo9xIWFhq5z/9QydtDDeRurBX7S 7gdPcSZudkWiHoFQSdjdKVWkkkI5TOL9Wz6EwBEKcxSrrav7KxKo+Ezk4I6X4xw1vHGP9SCNm GdQjUsY9HIDRoWTeCWQLtgww7U/2bMJekqSly0zcBS/K7hqKWZnZCrtF2YFExCBjgjX+Sz2RO ibNg9Ourc+vG0htpFs3lFkY9NcIi61woYx2gZ4+sfclTWR7CcGQXdV1+I78E1LILMCkptRPvV Crt+8CX9Mbax+ZoL4x9WC+xE0+FPOQAQ5T8Pnp+ApooV2e32YE/A2fyGEHH+BTkgYmuMJSl0m 09Rf/qTIS+GRv1CjVJe7Od6WKyWMCts/34/+XwD6xpWUyPR7UfZDHyvpT6c42fNQDF0+q5IY6 uMHf2O4TYgRMmIkRSCMk3vxMv7jS9zlSJOnmX0Gkf0U2mYJG2Io7p+dzUOoFMdeZAX9J7mxWc mCL3v4wUNJpQlkYU3tiZcZ0TqUUIOEwHbjdzunWj+wMU9X6JHsVyGIr7Pq3WxWTI8VhNkj0BV hXFGcQ1qYilBeOyyIsVSUNM2QYajIltVqyLaBWfBwJ1ye1o2cnfTVbjv481rZwLlArlFDw9N1 WBAHXGQ== Use devm_battery_hook_register() instead of manually calling devm_add_action_or_reset() to simplify the code. Signed-off-by: Armin Wolf --- drivers/platform/x86/dell/dell-wmi-ddv.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) -- 2.39.5 diff --git a/drivers/platform/x86/dell/dell-wmi-ddv.c b/drivers/platform/x86/dell/dell-wmi-ddv.c index ab5f7d3ab824..811cddab57fc 100644 --- a/drivers/platform/x86/dell/dell-wmi-ddv.c +++ b/drivers/platform/x86/dell/dell-wmi-ddv.c @@ -732,13 +732,6 @@ static int dell_wmi_ddv_remove_battery(struct power_supply *battery, struct acpi return 0; } -static void dell_wmi_ddv_battery_remove(void *data) -{ - struct acpi_battery_hook *hook = data; - - battery_hook_unregister(hook); -} - static int dell_wmi_ddv_battery_add(struct dell_wmi_ddv_data *data) { data->hook.name = "Dell DDV Battery Extension"; @@ -755,9 +748,7 @@ static int dell_wmi_ddv_battery_add(struct dell_wmi_ddv_data *data) data->eppid_attr.attr.mode = 0444; data->eppid_attr.show = eppid_show; - battery_hook_register(&data->hook); - - return devm_add_action_or_reset(&data->wdev->dev, dell_wmi_ddv_battery_remove, &data->hook); + return devm_battery_hook_register(&data->wdev->dev, &data->hook); } static int dell_wmi_ddv_buffer_read(struct seq_file *seq, enum dell_ddv_method method) From patchwork Wed Mar 5 05:30:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Armin Wolf X-Patchwork-Id: 870740 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7FB81DB924; Wed, 5 Mar 2025 05:30:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741152630; cv=none; b=kXJ8skViQ0KTnaXUd0YFzkSRjScAtUAuyLyQeqrxwV08wtN/QDztoFFG0r9jQrpRCf6ZM5KjRvm73k5hdPdcNKTUf3XbzZxhBZ/+J00W6nT8uS/fvXbTIS5OKnYbzvZeJkYdypBV2vXjG8Lp+o4U4ezSG6a5YRGZ/QEHu29dmug= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741152630; c=relaxed/simple; bh=QoYw3EV2PTQQEHPlv4pDNm31tpLdrgmMIQezAA0ysFg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mmx0EjPBOuOwM2+fk2h+Yl0kthwUjKFQ+KlgTKJRXzp15Q5s+IXOssIkGVPRkH4HazrDoTFwkCY8CIzfal9ctFJjYKbG3aQaa/X4qqduxCSt5EBE35bQDymnOcb8zM1Sn7+JDyANiTU7vUqSrxPYEr0vKLzRC+gyvmPtlkDFGj4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b=ki0lEhz6; arc=none smtp.client-ip=212.227.15.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=w_armin@gmx.de header.b="ki0lEhz6" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1741152624; x=1741757424; i=w_armin@gmx.de; bh=qiYfmLTFay8BFeSgQBCeWuSFU5BJ2TAwpkl8owzumx8=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ki0lEhz6AhPUIDaMOsKv6R1KZbRgcpxw+Os0jCCv/a9MW/KqLxxmbqqaPo9GrfYm rD66fkcVwPaDHk0Ba8MKy6P6pbcpC1JvKHLLKDObgJ4frPd0cjOqPDi/guN8QxvHi QIdyPiNW9+GDktBra3Mnc+cfu8ZLIH/g81Bq/T4Vlx3QQKJ3Yu3J6HjsIHAMmaN4X YZNhp+crhuArAad8Uc1zzMBlhLPGSv0eudnVTk3Oiv1GJYuRiwMr88BYIQ55miQXS r3IeZMCgXMg1cdmDxk5s+QLvgPSF7i7e8cnyO9XMRa5YxkhlLVZTJiyjc6JxPFdkO 5bWUK9fhzDViFuBS3w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from mx-amd-b650.fritz.box ([87.177.78.219]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N17UW-1t97Yb36Wg-00vqf7; Wed, 05 Mar 2025 06:30:24 +0100 From: Armin Wolf To: hdegoede@redhat.com, ilpo.jarvinen@linux.intel.com, sre@kernel.org Cc: platform-driver-x86@vger.kernel.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] platform/x86: dell-ddv: Use the power supply extension mechanism Date: Wed, 5 Mar 2025 06:30:09 +0100 Message-Id: <20250305053009.378609-4-W_Armin@gmx.de> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250305053009.378609-1-W_Armin@gmx.de> References: <20250305053009.378609-1-W_Armin@gmx.de> Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Provags-ID: V03:K1:Nf9M9MaBNKOuPHI5xkQ87fIO7LtPgVmw4Mw0qsu38SEo4jGdBG1 5rD7nJ0O+gGjQfjKiWvhA3TCzGEL9MDQ2gEBl6ciIEfLRsi0aoRPG2gh8+7piL1BIpLtWAY 1S4j+v7KLv5Kf95PX+V63KyCmTdsCo9TP5+ptdfjZlX3FZzBptIqZblytdwCd6IG23WqQhR fIwOICg+Eh7rioHv5phGw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:8/lsEW3TzyY=;udIEPtmDdIunPZPUwal8wMeh++z 9a4bKnX/tlW5MxBax9pTU53oMXSjUbYU+6zJCJpwmknrGzQivskhXjYC1V5MMR3W8KUvIDFKf kaqY4jxxbO1hgVrRmTaHyWsEJNJFdA1W+9Ijie6tqkDhqtlOVu4hsC5Y6BuvV/Py5vLHQajiX ASqGwjcZl3oKc525jGwCJTpSE607pkmV0oly9pmlxhKsaKutLASstb/dH7cnXIHGcihxHeMll 8GP0T9uyeUXh8KKUbCuoNwInBieRBOHKHpxmTvcoESDuOFmJNZZGUF/38dnZHVXN6Tm6R5GLG 5eUjnV7MVCHdu9nK4ndBK7+Z3Ok6gc5P/dx6xkMjHkPlY0AAkPSDljNHpB/rSF+b/EIqNlIU6 JNBISipy/DQ8sFEgiCNibOa9ck+s/oimLF/RI8u3Ueo228ejewZwxhU3l74tm/IKUFY5ARugg QmO2LTpCIVI61xysj3T0bSidT3d0CZ5CMNgfMCvo3ZBejOkpsqJgouFoDV/1j0zcmgFdT5LY9 nvEiLLtN1SLE7m1EiOkj3oLBswT8T1QtgUagmtEVqXhTt1lc1bQfWqGjvIj9eeI+QCpwmAT1z 1jNWRmZsHVZn6vCJTSt2IYB27IC8lmSJOyTYMv0zfiB2rsOmQOuOxEdYIv/4O5e2MFkdXEBY9 RGfj0HsjL5vQRJBBZjHO3o6vu1tRHu682OC403Vr98KDDiNA0jDu4QTre+cebHPdF6lIEAVrR UKAWFFzfSnpsYWoh/2dLtwR2ChN/uPzzHtrQfW5/xtx+gmMK4MQWsymsy4prU/eAZ9Nlf+2/l Sd1LQ6FnWZlBI8m1neKl6UR4hLkPCCL9Tl8lkB5D/R6uddXSdKJ1bm0ZIV9jPLXzRITeAGMtL ZcfsIixU8lufjIxrvlJa9sXhB5rjpqdXyXDvybLPdzohw++5H5E98/8/SqPNRXQAcdjT8hLkT U7JrgVC6sYwR+jbUcl79iGz3w6fJSI8nm6s4yebip+zFTvoDmKJuAwbNTLE5FdaTD/dROx72V XfLHNwynGKkGtvGRl8JsFeuaqYmsrdrHGL7zwT1bQnApbulOlH4bfHVqZfZpNPDKELimz2dUW OivKhrKFTR+nOyxLW3+AKPNpfh571iUg+cUAJG16XiKNMR1bAPDZ9MEmMHlR9SAp0b6YdelnL Adn4Jdy/QhflE0lt3vR8f8ldGG8l+ec4E/yy3Cn8NTXb4rtnPStWedHD1+6O0o/ufCS2YlL9y eaELwxszruDDGVWy3a0AzRwvoXkd7wHFiEakuEu7W3SMTzmsBomkiGGufKr/ayNqLiGTq9Q3H cqSzG3AdjoM2T5ZB5ymhqBOLZ9/MrOXNHjTBWzONCWqJSYZCCbOclNDyocaGFD6yXkVm21Ur5 c/JtWhTqkB0DPysXTesjlPgyy1J1FWM2oKLdsLtfI6TaOnRh22lB5OWsu3 Use the power supply extension mechanism for registering the battery temperature properties so that they can show up in the hwmon device associated with the ACPI battery. Signed-off-by: Armin Wolf --- drivers/platform/x86/dell/dell-wmi-ddv.c | 75 ++++++++++++++---------- 1 file changed, 45 insertions(+), 30 deletions(-) -- 2.39.5 diff --git a/drivers/platform/x86/dell/dell-wmi-ddv.c b/drivers/platform/x86/dell/dell-wmi-ddv.c index 811cddab57fc..f27739da380f 100644 --- a/drivers/platform/x86/dell/dell-wmi-ddv.c +++ b/drivers/platform/x86/dell/dell-wmi-ddv.c @@ -104,7 +104,6 @@ struct dell_wmi_ddv_sensors { struct dell_wmi_ddv_data { struct acpi_battery_hook hook; - struct device_attribute temp_attr; struct device_attribute eppid_attr; struct dell_wmi_ddv_sensors fans; struct dell_wmi_ddv_sensors temps; @@ -651,26 +650,6 @@ static int dell_wmi_ddv_battery_index(struct acpi_device *acpi_dev, u32 *index) return kstrtou32(uid_str, 10, index); } -static ssize_t temp_show(struct device *dev, struct device_attribute *attr, char *buf) -{ - struct dell_wmi_ddv_data *data = container_of(attr, struct dell_wmi_ddv_data, temp_attr); - u32 index, value; - int ret; - - ret = dell_wmi_ddv_battery_index(to_acpi_device(dev->parent), &index); - if (ret < 0) - return ret; - - ret = dell_wmi_ddv_query_integer(data->wdev, DELL_DDV_BATTERY_TEMPERATURE, index, &value); - if (ret < 0) - return ret; - - /* Use 2732 instead of 2731.5 to avoid unnecessary rounding and to emulate - * the behaviour of the OEM application which seems to round down the result. - */ - return sysfs_emit(buf, "%d\n", value - 2732); -} - static ssize_t eppid_show(struct device *dev, struct device_attribute *attr, char *buf) { struct dell_wmi_ddv_data *data = container_of(attr, struct dell_wmi_ddv_data, eppid_attr); @@ -697,6 +676,46 @@ static ssize_t eppid_show(struct device *dev, struct device_attribute *attr, cha return ret; } +static int dell_wmi_ddv_get_property(struct power_supply *psy, const struct power_supply_ext *ext, + void *drvdata, enum power_supply_property psp, + union power_supply_propval *val) +{ + struct dell_wmi_ddv_data *data = drvdata; + u32 index, value; + int ret; + + ret = dell_wmi_ddv_battery_index(to_acpi_device(psy->dev.parent), &index); + if (ret < 0) + return ret; + + switch (psp) { + case POWER_SUPPLY_PROP_TEMP: + ret = dell_wmi_ddv_query_integer(data->wdev, DELL_DDV_BATTERY_TEMPERATURE, index, + &value); + if (ret < 0) + return ret; + + /* Use 2732 instead of 2731.5 to avoid unnecessary rounding and to emulate + * the behaviour of the OEM application which seems to round down the result. + */ + val->intval = value - 2732; + return 0; + default: + return -EINVAL; + } +} + +static const enum power_supply_property dell_wmi_ddv_properties[] = { + POWER_SUPPLY_PROP_TEMP, +}; + +static const struct power_supply_ext dell_wmi_ddv_extension = { + .name = DRIVER_NAME, + .properties = dell_wmi_ddv_properties, + .num_properties = ARRAY_SIZE(dell_wmi_ddv_properties), + .get_property = dell_wmi_ddv_get_property, +}; + static int dell_wmi_ddv_add_battery(struct power_supply *battery, struct acpi_battery_hook *hook) { struct dell_wmi_ddv_data *data = container_of(hook, struct dell_wmi_ddv_data, hook); @@ -708,13 +727,14 @@ static int dell_wmi_ddv_add_battery(struct power_supply *battery, struct acpi_ba if (ret < 0) return 0; - ret = device_create_file(&battery->dev, &data->temp_attr); + ret = device_create_file(&battery->dev, &data->eppid_attr); if (ret < 0) return ret; - ret = device_create_file(&battery->dev, &data->eppid_attr); + ret = power_supply_register_extension(battery, &dell_wmi_ddv_extension, &data->wdev->dev, + data); if (ret < 0) { - device_remove_file(&battery->dev, &data->temp_attr); + device_remove_file(&battery->dev, &data->eppid_attr); return ret; } @@ -726,8 +746,8 @@ static int dell_wmi_ddv_remove_battery(struct power_supply *battery, struct acpi { struct dell_wmi_ddv_data *data = container_of(hook, struct dell_wmi_ddv_data, hook); - device_remove_file(&battery->dev, &data->temp_attr); device_remove_file(&battery->dev, &data->eppid_attr); + power_supply_unregister_extension(battery, &dell_wmi_ddv_extension); return 0; } @@ -738,11 +758,6 @@ static int dell_wmi_ddv_battery_add(struct dell_wmi_ddv_data *data) data->hook.add_battery = dell_wmi_ddv_add_battery; data->hook.remove_battery = dell_wmi_ddv_remove_battery; - sysfs_attr_init(&data->temp_attr.attr); - data->temp_attr.attr.name = "temp"; - data->temp_attr.attr.mode = 0444; - data->temp_attr.show = temp_show; - sysfs_attr_init(&data->eppid_attr.attr); data->eppid_attr.attr.name = "eppid"; data->eppid_attr.attr.mode = 0444;