linux-acpi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: malattia@linux.it
To: lenb@kernel.org
Cc: linux-acpi@vger.kernel.org, Mattia Dongili <malattia@linux.it>
Subject: [PATCH 8/11] Allow easier debugging for the unknown SNC methods.
Date: Sun,  7 Jan 2007 18:54:40 +0100	[thread overview]
Message-ID: <11681924833091-git-send-email-malattia@linux.it> (raw)
In-Reply-To: <11681924833473-git-send-email-malattia@linux.it>

From: Mattia Dongili <malattia@linux.it>

Allow the existence of a setter method without a getter and viceversa,
additionaly set /proc file permissions reflecting it.
Fix also the error exit path.

Signed-off-by: Mattia Dongili <malattia@linux.it>
---
 drivers/acpi/sony_acpi.c |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 deletions(-)

diff --git a/drivers/acpi/sony_acpi.c b/drivers/acpi/sony_acpi.c
index 138f2b6..69122ad 100644
--- a/drivers/acpi/sony_acpi.c
+++ b/drivers/acpi/sony_acpi.c
@@ -296,6 +296,7 @@ static int sony_acpi_add(struct acpi_device *device)
 	acpi_status status;
 	int result;
 	acpi_handle handle;
+	mode_t proc_file_mode;
 	struct sony_acpi_value *item;
 
 	sony_acpi_acpi_device = device;
@@ -334,20 +335,31 @@ static int sony_acpi_add(struct acpi_device *device)
 	}
 
 	for (item = sony_acpi_values; item->name; ++item) {
+		proc_file_mode = 0;
+
 		if (!debug && item->debug)
 			continue;
 
 		if (item->acpiget &&
-		    ACPI_FAILURE(acpi_get_handle(sony_acpi_handle,
+		    ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle,
 		    		 item->acpiget, &handle)))
-		    	continue;
+			proc_file_mode = S_IRUSR;
+		else
+			printk(LOG_PFX "unable to get ACPI handle for %s (get)\n",
+					item->name);
 
 		if (item->acpiset &&
-		    ACPI_FAILURE(acpi_get_handle(sony_acpi_handle,
+		    ACPI_SUCCESS(acpi_get_handle(sony_acpi_handle,
 		    		 item->acpiset, &handle)))
-		    	continue;
+			proc_file_mode |= S_IWUSR;
+		else
+			printk(LOG_PFX "unable to get ACPI handle for %s (set)\n",
+					item->name);
+
+		if (proc_file_mode == 0)
+			continue;
 
-		item->proc = create_proc_entry(item->name, 0666,
+		item->proc = create_proc_entry(item->name, proc_file_mode,
 					       acpi_device_dir(device));
 		if (!item->proc) {
 			printk(LOG_PFX "unable to create proc entry\n");
@@ -366,15 +378,15 @@ static int sony_acpi_add(struct acpi_device *device)
 	return 0;
 
 outproc:
+	for (item = sony_acpi_values; item->name; ++item)
+		if (item->proc)
+			remove_proc_entry(item->name, acpi_device_dir(device));
+outnotify:
 	status = acpi_remove_notify_handler(sony_acpi_handle,
 					    ACPI_DEVICE_NOTIFY,
 					    sony_acpi_notify);
 	if (ACPI_FAILURE(status))
 		printk(LOG_PFX "unable to remove notify handler\n");
-outnotify:
-	for (item = sony_acpi_values; item->name; ++item)
-		if (item->proc)
-			remove_proc_entry(item->name, acpi_device_dir(device));
 outwalk:
 	return result;
 }
-- 
1.4.4.2


  reply	other threads:[~2007-01-07 17:55 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-07 17:54 [PATCH 0/11] sony_acpi: getting in shape for prime time malattia
2007-01-07 17:54 ` [PATCH 1/11] SNC device support for Sony Vaios malattia
2007-01-07 17:54   ` [PATCH 2/11] Avoid dimness on resume malattia
2007-01-07 17:54     ` [PATCH 3/11] Fix sony_acpi_resume call malattia
2007-01-07 17:54       ` [PATCH 4/11] Add backlight support to the sony_acpi malattia
2007-01-07 17:54         ` [PATCH 5/11] Add backlight support to the sony_acpi v2 malattia
2007-01-07 17:54           ` [PATCH 6/11] Video sysfs support take 2 malattia
2007-01-07 17:54             ` [PATCH 7/11] Add acpi_bus_generate event malattia
2007-01-07 17:54               ` malattia [this message]
2007-01-07 17:54                 ` [PATCH 9/11] Add lanpower and audiopower controls malattia
2007-01-07 17:54                   ` [PATCH 10/11] Allow multiple sony_acpi_values for the same .name malattia
2007-01-07 17:54                     ` [PATCH 11/11] initialize the brighness value at device registration malattia
2007-01-12 17:04                       ` Mattia Dongili
  -- strict thread matches above, loose matches on Subject: below --
2007-01-13 22:04 [PATCH 0/11] sony_acpi: prepare for prime time (resend) malattia
2007-01-13 22:04 ` [PATCH 1/11] SNC device support for Sony Vaios malattia
2007-01-13 22:04   ` [PATCH 2/11] Avoid dimness on resume malattia
2007-01-13 22:04     ` [PATCH 3/11] Fix sony_acpi_resume call malattia
2007-01-13 22:04       ` [PATCH 4/11] Add backlight support to the sony_acpi malattia
2007-01-13 22:04         ` [PATCH 5/11] Add backlight support to the sony_acpi v2 malattia
2007-01-13 22:04           ` [PATCH 6/11] Video sysfs support take 2 malattia
2007-01-13 22:04             ` [PATCH 7/11] Add acpi_bus_generate event malattia
2007-01-13 22:04               ` [PATCH 8/11] Allow easier debugging for the unknown SNC methods malattia

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=11681924833091-git-send-email-malattia@linux.it \
    --to=malattia@linux.it \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).