Re: [PATCH] spi: Add the flag indicate to registe new device as children of master or not.

From: Grant Likely
Date: Fri Jan 11 2013 - 09:57:54 EST


On Mon, 24 Dec 2012 11:16:52 -0500, Jun Chen <jun.d.chen@xxxxxxxxx> wrote:
> On Fri, 2012-12-21 at 19:06 +0000, Grant Likely wrote:
> > The problem is that I don't understand why this change is necessary.
> > spi_devices should always be children of an spi_master, not siblings.
> > What is the problem you're trying to solve with this change?
> >
> When spi drivers try to use the core function(spi_register_master),it
> will trigger error,because they use the function
> spi_match_master_to_boardinfo to create new spi device as the children
> of the master.
> In the old version of spi core, the new devices are registered as
> siblings of the spi_master. My spi driver based on the old version runs
> normal.
>
> But after applying for this patch:
> {
> spi: Fix device unregistration when unregistering the bus master
>
> Device are added as children of the bus master's parent device, but
> spi_unregister_master() looks for devices to unregister in the bus
> master's children. This results in the child devices not being
> unregistered.
>
> Fix this by registering devices as direct children of the bus
> master.
>
>
> - spi->dev.parent = dev;
> + spi->dev.parent = &master->dev;
> }
>
> Then my driver will be crash.
> Maybe I have mistake on this issue, thank for your more explanation and
> detail replay.

Sounds like you've got a driver bug. Make sure it isn't trying to use
the spi_client parent pointer to find the device instance.

g.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/