All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <htejun@gmail.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: linux-ide@vger.kernel.org, Albert Lee <albertcc@tw.ibm.com>
Subject: Re: [PATCH] libata: add host_set->next for legacy two host sets case
Date: Mon, 12 Jun 2006 16:06:25 +0900	[thread overview]
Message-ID: <448D1271.6090501@gmail.com> (raw)
In-Reply-To: <448D0FF9.1080605@pobox.com>

Jeff Garzik wrote:
> Tejun Heo wrote:
>> For a legacy ATA controller, libata registers two separate host sets.
>> There was no connection between the two hosts making it impossible to
>> traverse all ports related to the controller.  This patch adds
>> host_set->next which points to the second host_set and implements
>> ata_host_set_for_all_ports() which traverses all ports associated with
>> the controller.  This fixes the following bugs.
>>
>> * On device removal, all ports hanging off the device are properly
>>   detached.  Prior to this patch, ports on the first host_set weren't
>>   detached casuing oops on driver unloading.
>>
>> * On device removal, both host sets are freed
>>
>> This will also be used by new power management code to suspend and
>> resume all ports of a controller.  host_set/port representation will
>> be improved to handle legacy controllers better and this host_set
>> linking hack will go away with it.
>>
>> Signed-off-by: Tejun Heo <htejun@gmail.com>
> 
> NAK.  You don't want to iterate through multiple host sets, _inside_ of 
> function ata_host_set_remove().  ata_host_set_remove() is called with a 
> single host_set, and is designed to remove only a single host set.
> 
> The concept of a host_set list is OK, but I would rather that 
> ata_pci_remove_one() be updated to something like
> 
>     host_set = get-drvdata(...)
> 
>     while (host_set)
>         tmp = host_set
>         host_set = host_set->next
>         ata_host_set_remove(tmp)

I wanted to hide the second host_set behind the first one as there will 
be only one host_set in the future.  But, okay, will update as you said. 
  That should be less confusing.

-- 
tejun

  reply	other threads:[~2006-06-12  7:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-12  5:17 [PATCH] libata: add host_set->next for legacy two host sets case Tejun Heo
2006-06-12  6:55 ` Jeff Garzik
2006-06-12  7:06   ` Tejun Heo [this message]
2006-06-12 10:14   ` [PATCH] libata: add host_set->next for legacy two host_sets case, take #2 Tejun Heo
2006-06-12 13:35     ` Jeff Garzik
2006-06-12 13:44       ` Tejun Heo
2006-06-12 14:05       ` [PATCH] libata: add host_set->next for legacy two host_sets case, take #3 Tejun Heo
2006-06-12 14:24         ` Jeff Garzik
2006-06-28 10:27         ` Albert Lee
2006-06-28 10:42           ` Tejun Heo
2006-06-28 10:53             ` Albert Lee
2006-06-28 16:25             ` Alan Cox
2006-06-28 11:38           ` Alan Cox

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=448D1271.6090501@gmail.com \
    --to=htejun@gmail.com \
    --cc=albertcc@tw.ibm.com \
    --cc=jgarzik@pobox.com \
    --cc=linux-ide@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 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.