From: Stephen Rothwell <hidden> Date: 2012-03-13 05:01:14
Hi Grant,
Today's linux-next merge of the devicetree tree got a conflict in
include/linux/of.h between commit eb740b5f3e65 ("powerpc/eeh: Introduce
EEH device") from the powerpc tree and commit 0f22dd395fc4 ("of: Only
compile OF_DYNAMIC on PowerPC pseries and iseries") from the devicetree
tree.
Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/of.h
index bdb1c07,533603e..0000000
From: Grant Likely <hidden> Date: 2012-03-13 18:26:18
On Tue, 13 Mar 2012 16:01:00 +1100, Stephen Rothwell [off-list ref] wrote:
quoted hunk
Hi Grant,
Today's linux-next merge of the devicetree tree got a conflict in
include/linux/of.h between commit eb740b5f3e65 ("powerpc/eeh: Introduce
EEH device") from the powerpc tree and commit 0f22dd395fc4 ("of: Only
compile OF_DYNAMIC on PowerPC pseries and iseries") from the devicetree
tree.
Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/of.h
index bdb1c07,533603e..0000000
Ben, What is this? I don't want the eeh_dev pointer in struct device_node. Up to
now we've avoided putting any reverse references into device_nodes. For everything
else we use a reverse lookup, particularly for devices, to avoid growing the
device_node for each new type of lookup.
g.
Today's linux-next merge of the devicetree tree got a conflict in
include/linux/of.h between commit eb740b5f3e65 ("powerpc/eeh: Introduce
EEH device") from the powerpc tree and commit 0f22dd395fc4 ("of: Only
compile OF_DYNAMIC on PowerPC pseries and iseries") from the devicetree
tree.
Just context changes. I fixed it up (see below) and can carry the fix as
necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc include/linux/of.h
index bdb1c07,533603e..0000000
Ben, What is this? I don't want the eeh_dev pointer in struct device_node. Up to
now we've avoided putting any reverse references into device_nodes. For everything
else we use a reverse lookup, particularly for devices, to avoid growing the
device_node for each new type of lookup.
It's used to trace the EEH device. When EEH (Enhanced Error Hanlding) is enabled,
EEH device will be created against PCI sensitive OF node to trace the EEH state
accordingly. Since you don't want see this in struct device_node, we have to change
struct eeh_dev for a little bit to so that all struct eeh_dev instances will form
a global list and we can search eeh_dev according to the given device_node through
the global list.
I don't know the policy or rule here for much. I think we can have 2 options.
1. Keep the code as being, and fix it later.
2. Fix it now.
Thanks,
Gavin
Ben, What is this? I don't want the eeh_dev pointer in struct device_node. Up to
now we've avoided putting any reverse references into device_nodes. For everything
else we use a reverse lookup, particularly for devices, to avoid growing the
device_node for each new type of lookup.
It's used to trace the EEH device. When EEH (Enhanced Error Hanlding) is enabled,
EEH device will be created against PCI sensitive OF node to trace the EEH state
accordingly. Since you don't want see this in struct device_node, we have to change
struct eeh_dev for a little bit to so that all struct eeh_dev instances will form
a global list and we can search eeh_dev according to the given device_node through
the global list.
I don't know the policy or rule here for much. I think we can have 2 options.
1. Keep the code as being, and fix it later.
2. Fix it now.
My bad, it's a mis-review, I thought it was still in pci_dn, I din't
catch Gavin moving it to device-node.
Yes, Gavin, we need to do something else, a chained list we walk or
something like that. For the "fast path" which is when we have a pci_dev
around, we can either add it to dev_archdata or hijack the pci-dev
platform_data (I don't think anything uses it, Grant, do you know of
anything ?)
The patches are already in -next and I won't rebase, so we need to fix
it on top of the existing patches. Gavin, can you make a patch that puts
it back into pci_dn to begin with, then we can contemplate what better
long term solution we have ?
Cheers,
Ben.
Ben, What is this? I don't want the eeh_dev pointer in struct device_node. Up to
now we've avoided putting any reverse references into device_nodes. For everything
else we use a reverse lookup, particularly for devices, to avoid growing the
device_node for each new type of lookup.
It's used to trace the EEH device. When EEH (Enhanced Error Hanlding) is enabled,
EEH device will be created against PCI sensitive OF node to trace the EEH state
accordingly. Since you don't want see this in struct device_node, we have to change
struct eeh_dev for a little bit to so that all struct eeh_dev instances will form
a global list and we can search eeh_dev according to the given device_node through
the global list.
I don't know the policy or rule here for much. I think we can have 2 options.
1. Keep the code as being, and fix it later.
2. Fix it now.
My bad, it's a mis-review, I thought it was still in pci_dn, I din't
catch Gavin moving it to device-node.
Yes, Gavin, we need to do something else, a chained list we walk or
something like that. For the "fast path" which is when we have a pci_dev
around, we can either add it to dev_archdata or hijack the pci-dev
platform_data (I don't think anything uses it, Grant, do you know of
anything ?)
Yes, Ben. I'll come up another patch on top of -next. It's supposed
to introduce global list for newly created eeh_dev and retrieve
the corresponding eeh_dev according to the given device_node through
it.
The patches are already in -next and I won't rebase, so we need to fix
it on top of the existing patches. Gavin, can you make a patch that puts
it back into pci_dn to begin with, then we can contemplate what better
long term solution we have ?
I've had something more in my private git tree regarding this. I'll
talk with you for your comments ;-)
Thanks,
Gavin