]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: shpchp: Rename duplicate slot name N as N-1, N-2, N-M...
authorAlex Chiang <achiang@hp.com>
Thu, 21 Aug 2008 21:13:47 +0000 (15:13 -0600)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Thu, 21 Aug 2008 22:15:31 +0000 (15:15 -0700)
commitc110f306da0a0e7929c981fab794e3ee347dab5a
tree28737d4feaa4b16f63b498229ae13653947f7b36
parentb87bfa0d0558f50394b4f525cbfeaaf21c081534
PCI: shpchp: Rename duplicate slot name N as N-1, N-2, N-M...

Commit 968b34affa0ae99584c4faee84a79ed66365e2b3 (shpchp: fix slot name)
introduces the shpchp_slot_with_bus module parameter, which was intended
to help work around broken firmware that assigns the same name to multiple
slots.

Commit 87537e662f33e5884094a30ebba1c7349880baaa (shpchp: add message about
shpchp_slot_with_bus option) tells the user to use the above parameter
in the event of a name collision.

This approach is sub-optimal because it requires too much work from
the user.

Instead, let's rename the slot on behalf of the user. If firmware
assigns the name N to multiple slots, then:

The first registered slot is assigned N
The second registered slot is assigned N-1
The third registered slot is assigned N-2
The Mth registered slot becomes N-M

In the event we overflow the slot->name parameter, we report an
error to the user.

This is a temporary fix until the entire PCI core can be reworked
such that individual drivers no longer have to manage their own
slot names.

Tested-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Acked-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/hotplug/shpchp_core.c