From: Greg KH <greg@kroah.com>
To: Nicolas Schichan <nschichan@freebox.fr>
Cc: Jeff Garzik <jgarzik@pobox.com>,
linux-ide@vger.kernel.org, Maxime Bizon <mbizon@freebox.fr>
Subject: Re: [RFC] add port information for ATA devices in sysfs
Date: Mon, 26 Apr 2010 20:42:10 -0700 [thread overview]
Message-ID: <20100427034210.GB4759@kroah.com> (raw)
In-Reply-To: <201004261829.04687.nschichan@freebox.fr>
On Mon, Apr 26, 2010 at 06:29:04PM +0200, Nicolas Schichan wrote:
>
> Hi,
>
> Currently, it is not possible to know on what particular port an ata
> device is located with sysfs. the current scheme creates an host<x>
> directory directly under the sata host device node like this (with a
> sata_mv driver, having two sata ports):
>
> /sys/platform/sata_mv.0/host<x>
> /sys/platform/sata_mv.0/host<y>
>
> If the system probes successfully other scsi devices before probing
> the sata bus, we have no guarantees that the same numbers will be used
> all the time, and if we rmmod/modprobe sata_mv the host numbers are
> not persistent accross module insertion.
>
> The inlined patch fixes this by adding a port<x> device that is
> parented to the sata controller device and uses this device as a base
> to create the scsi hosts for the devices behind a given sata port. <x>
> is set to be the value of the port_no field in struct ata_port.
>
> the naming then looks like this (assuming two sata ports behind a
> sata_mv driver):
>
> /sys/platform/sata_mv.0/port0/host<x>
> /sys/platform/sata_mv.0/port1/host<y>
>
> My patch adds a struct device inside struct ata_port for the sole
> purpose of having this port0,port1,... directory under sata_mv.
>
> This patch also moves the assignation of port_no to ata_port_alloc to
> ease the initialisation of the device structure embedded in sata_port.
> this most likely messes up the ata_sas_port_alloc code which always
> sets port_no to 0 and will make device_add complain loudly in dmesg if
> this function is called more than once. Unfortunately I do not have
> any SAS devices at hand to fix this.
>
> I do not know yet how this would behave with sata devices behind a
> SATA port multiplier but I would guess that no new scsi host would be
> created in this case and that the other fields of target<host>:x:y:z
> would be used by the scsi subsystem.
>
> This is not a very polished patch and it is aimed to know whether the
> approach used is correct and I would like to have your advices
> regarding this.
>
> Regards,
>
> Signed-off-by: Nicolas Schichan <nschichan@freebox.fr>
>
> --
> Nicolas Schichan
>
> diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
> index 91fed3c..179abad 100644
> --- a/drivers/ata/libata-core.c
> +++ b/drivers/ata/libata-core.c
> @@ -5660,6 +5660,10 @@ int sata_link_init_spd(struct ata_link *link)
> return 0;
> }
>
> +static void ata_port_dev_release(struct device *dev)
> +{
> +}
{sigh}
By doing the above, you have guaranteed that I will make fun of this
code. Consider this the ridicule it deserves.
(hint, read the kobject documentation for why I get to make fun of
it...)
Think about why you created an empty release function, to try to get the
kernel to stop spitting out a message to you. Didn't you think that the
message was there for a reason, and it was not to be worked around?
{sigh}
greg k-h
next prev parent reply other threads:[~2010-04-27 3:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-26 16:29 [RFC] add port information for ATA devices in sysfs Nicolas Schichan
2010-04-27 3:42 ` Greg KH [this message]
2010-04-27 13:18 ` Nicolas Schichan
2010-04-28 5:50 ` Greg KH
2010-04-28 14:57 ` Maxime Bizon
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=20100427034210.GB4759@kroah.com \
--to=greg@kroah.com \
--cc=jgarzik@pobox.com \
--cc=linux-ide@vger.kernel.org \
--cc=mbizon@freebox.fr \
--cc=nschichan@freebox.fr \
/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