• Grant Likely's avatar
    of: use platform_device_add · aac73f34
    Grant Likely authored
    This allows platform_device_add a chance to call insert_resource on all
    of the resources from OF. At a minimum this fills in proc/iomem and
    presumably makes resource tracking and conflict detection work better.
    However, it has the side effect of moving all OF generated platform
    devices from /sys/devices to /sys/devices/platform/. It /shouldn't/
    break userspace because userspace is not supposed to depend on the full
    path (because userspace always does what it is supposed to, right?).
    
    This may cause breakage if either:
    1) any two nodes in a given device tree have overlapping & staggered
       regions (ie. 0x80..0xbf and 0xa0..0xdf; where one is not contained
       within the other). In this case one of the devices will fail to
       register and an exception will be needed in platform_device_add() to
       complain but not fail.
    2) any device calls request_mem_region() on a region larger than
       specified in the device tree. In this case the device node may be
       wrong, or the driver is overreaching. In either case I'd like to know
       about any problems and fix them.
    
    Please test. Despite the above, I'm still fairly confident that this
    patch is in good shape. I'd like to put it into linux-next, but would
    appreciate some bench testing from others before I do; particularly on
    PowerPC machines.
    
    v2: Remove powerpc special-case
    
    Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Rob Herring <rob.herring@calxeda.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
    aac73f34
platform.c 13.1 KB