From: Alex Chiang <achiang@hp.com>
To: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Cc: Greg KH <gregkh@suse.de>, Gary Hade <garyhade@us.ibm.com>,
Kristen Carlson Accardi <kristen.c.accardi@intel.com>,
Matthew Wilcox <matthew@wil.cx>,
warthog19@eaglescrag.net, rick.jones2@hp.com,
linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz,
linux-acpi@vger.kernel.org
Subject: Re: [PATCH 12/16] PCI slot: Use .default_attrs for address file (Not for mainline!)
Date: Mon, 24 Mar 2008 21:31:11 -0600 [thread overview]
Message-ID: <20080325033111.GA26434@ldl.fc.hp.com> (raw)
In-Reply-To: <47E3375B.4020606@jp.fujitsu.com>
* Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>:
> Use .default_attrs for 'address' file. This can simplify the code.
Thanks, merged.
/ac
>
> Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
>
> ---
> drivers/pci/slot.c | 36 +++++++++---------------------------
> 1 file changed, 9 insertions(+), 27 deletions(-)
>
> Index: linux-2.6.25-rc6/drivers/pci/slot.c
> ===================================================================
> --- linux-2.6.25-rc6.orig/drivers/pci/slot.c
> +++ linux-2.6.25-rc6/drivers/pci/slot.c
> @@ -39,25 +39,6 @@ static ssize_t address_read_file(struct
> slot->bus->number, slot->number);
> }
>
> -static struct pci_slot_attribute pci_slot_attr_address = {
> - .attr = { .name = "address", .mode = S_IFREG | S_IRUGO },
> - .show = address_read_file,
> -};
> -
> -static void remove_sysfs_files(struct pci_slot *slot)
> -{
> - sysfs_remove_file(&slot->kobj, &pci_slot_attr_address.attr);
> -}
> -
> -static int create_sysfs_files(struct pci_slot *slot)
> -{
> - int result;
> -
> - result = sysfs_create_file(&slot->kobj, &pci_slot_attr_address.attr);
> -
> - return result;
> -}
> -
> static void pci_slot_release(struct kobject *kobj)
> {
> struct pci_slot *slot = to_pci_slot(kobj);
> @@ -67,13 +48,21 @@ static void pci_slot_release(struct kobj
>
> list_del(&slot->list);
>
> - remove_sysfs_files(slot);
> kfree(slot);
> }
>
> +static struct pci_slot_attribute pci_slot_attr_address =
> + __ATTR(address, (S_IFREG | S_IRUGO), address_read_file, NULL);
> +
> +static struct attribute *pci_slot_default_attrs[] = {
> + &pci_slot_attr_address.attr,
> + NULL,
> +};
> +
> static struct kobj_type pci_slot_ktype = {
> .sysfs_ops = &pci_slot_sysfs_ops,
> .release = &pci_slot_release,
> + .default_attrs = pci_slot_default_attrs,
> };
>
> struct pci_slot *pci_create_slot(struct pci_bus *parent, int slot_nr,
> @@ -114,10 +103,6 @@ struct pci_slot *pci_create_slot(struct
> goto err;
> }
>
> - err = create_sysfs_files(slot);
> - if (err)
> - goto unregister;
> -
> INIT_LIST_HEAD(&slot->list);
> list_add(&slot->list, &parent->slots);
>
> @@ -127,9 +112,6 @@ struct pci_slot *pci_create_slot(struct
> out:
> up_write(&pci_bus_sem);
> return slot;
> -
> - unregister:
> - kobject_put(&slot->kobj);
> err:
> kfree(slot);
> slot = ERR_PTR(err);
>
>
next prev parent reply other threads:[~2008-03-25 3:31 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-18 21:05 [PATCH 0/3, v10] PCI, ACPI: Physical PCI slot objects Alex Chiang
2008-03-18 21:08 ` [PATCH 1/3] Construct one fakephp slot per pci slot Alex Chiang
2008-03-18 21:09 ` [PATCH 2/3] Introduce pci_slot Alex Chiang
2008-03-18 21:09 ` [PATCH 3/3] ACPI PCI slot detection driver Alex Chiang
2008-03-19 0:55 ` [PATCH 0/3, v10] PCI, ACPI: Physical PCI slot objects Matthew Wilcox
2008-03-19 0:55 ` Matthew Wilcox
2008-03-19 1:52 ` Alex Chiang
2008-03-19 2:34 ` Kenji Kaneshige
2008-03-19 2:34 ` Kenji Kaneshige
2008-03-19 2:24 ` Kenji Kaneshige
2008-03-21 4:07 ` Kenji Kaneshige
2008-03-21 4:09 ` [PATCH 1/16][BUG] Export kobject_rename for pci_hotplug_core (Not for mainline!) Kenji Kaneshige
2008-03-21 15:56 ` Alex Chiang
2008-03-21 16:15 ` Greg KH
2008-03-21 16:15 ` Greg KH
2008-03-21 16:45 ` Alex Chiang
2008-03-21 4:10 ` [PATCH 2/16] ACPI pci_slot: Fix dmi table for Fujitsu PRIMEQUEST " Kenji Kaneshige
2008-03-21 16:04 ` Alex Chiang
2008-03-21 4:11 ` [PATCH 3/16][BUG] ACPI pci_slot: Fix _STA evaluation " Kenji Kaneshige
2008-03-21 16:17 ` Alex Chiang
2008-03-21 4:12 ` [PATCH 4/16][BUG] PCI slot: Add missing semaphore for slot release " Kenji Kaneshige
2008-03-21 16:57 ` Alex Chiang
2008-03-21 4:13 ` [PATCH 5/16] PCI slot: Use list_head for pci slot list " Kenji Kaneshige
2008-03-21 18:40 ` Alex Chiang
2008-03-21 4:14 ` [PATCH 6/16][BUG] ACPI pci_slot: Fix slot removal path " Kenji Kaneshige
2008-03-21 19:42 ` Alex Chiang
2008-03-21 4:14 ` [PATCH 7/16][BUG] PCI slot: Remove compiler warnings " Kenji Kaneshige
2008-03-21 20:01 ` Alex Chiang
2008-03-21 4:15 ` [PATCH 8/16][BUG] PCI slot: Fix invalid memory access " Kenji Kaneshige
2008-03-21 20:01 ` Alex Chiang
2008-03-21 4:16 ` [PATCH 9/16] PCI slot: Remove unused slot member from pci_dev " Kenji Kaneshige
2008-03-21 19:30 ` Matthew Wilcox
2008-03-24 20:29 ` Alex Chiang
2008-03-21 4:17 ` [PATCH 10/16] PCI slot: Replace dbg with pr_debug " Kenji Kaneshige
2008-03-21 19:30 ` Matthew Wilcox
2008-03-21 20:02 ` Alex Chiang
2008-03-21 4:18 ` [PATCH 11/16] PCI slot: Remove useless release handler " Kenji Kaneshige
2008-03-25 3:08 ` Alex Chiang
2008-03-21 4:19 ` [PATCH 12/16] PCI slot: Use .default_attrs for address file " Kenji Kaneshige
2008-03-21 19:32 ` Matthew Wilcox
2008-03-25 3:31 ` Alex Chiang [this message]
2008-03-21 4:23 ` [PATCH 13/16] PCI slot: Fix return value of pci_create_slot() " Kenji Kaneshige
2008-03-25 3:31 ` Alex Chiang
2008-03-21 4:26 ` [PATCH 14/16] PCI slot: Change return value of pci_destroy_slot() " Kenji Kaneshige
2008-03-21 19:32 ` Matthew Wilcox
2008-03-25 3:31 ` Alex Chiang
2008-03-21 4:26 ` [PATCH 15/16] PCI slot: Trivial cleanups for slot.c " Kenji Kaneshige
2008-03-21 19:33 ` Matthew Wilcox
2008-03-25 3:31 ` Alex Chiang
2008-03-21 4:27 ` [PATCH 16/16][BUG] PCI hotplug core: add missing lock for hotplug slot list " Kenji Kaneshige
2008-03-25 3:31 ` Alex Chiang
2008-03-21 15:53 ` [PATCH 0/3, v10] PCI, ACPI: Physical PCI slot objects Alex Chiang
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=20080325033111.GA26434@ldl.fc.hp.com \
--to=achiang@hp.com \
--cc=garyhade@us.ibm.com \
--cc=gregkh@suse.de \
--cc=kaneshige.kenji@jp.fujitsu.com \
--cc=kristen.c.accardi@intel.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@atrey.karlin.mff.cuni.cz \
--cc=matthew@wil.cx \
--cc=rick.jones2@hp.com \
--cc=warthog19@eaglescrag.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.