01 Nov, 2011

2 commits


17 May, 2011

1 commit

  • Adapt new API. Almost change is trivial, most important change are to
    remove following like =operator.

    cpumask_t cpu_mask = *mm_cpumask(mm);
    cpus_allowed = current->cpus_allowed;

    Because cpumask_var_t is =operator unsafe. These usage might prevent
    kernel core improvement.

    No functional change.

    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: David S. Miller

    KOSAKI Motohiro
     

31 Mar, 2011

1 commit


24 Jul, 2010

2 commits

  • of_device is just a #define alias to platform_device. This patch
    replaces all references to it with platform_device.

    Signed-off-by: Grant Likely
    Acked-by: David S. Miller

    Grant Likely
     
  • of_platform_bus was being used in the same manner as the platform_bus.
    The only difference being that of_platform_bus devices are generated
    from data in the device tree, and platform_bus devices are usually
    statically allocated in platform code. Having them separate causes
    the problem of device drivers having to be registered twice if it
    was possible for the same device to appear on either bus.

    This patch removes of_platform_bus_type and registers all of_platform
    bus devices and drivers on the platform bus instead. A previous patch
    made the of_device structure an alias for the platform_device structure,
    and a shim is used to adapt of_platform_drivers to the platform bus.

    After all of of_platform_bus drivers are converted to be normal platform
    drivers, the shim code can be removed.

    Signed-off-by: Grant Likely
    Acked-by: David S. Miller

    Grant Likely
     

29 Jun, 2010

1 commit

  • This patch moves SPARC architecture specific data members out of
    struct of_device and into the pdev_archdata structure. The reason
    for this change is to unify the struct of_device definition amongst
    all the architectures. It also remvoes the .sysdata, .slot, .portid
    and .clock_freq properties because they aren't actually used by
    anything.

    A subsequent patch will replace struct of_device entirely with struct
    platform_device and the of_platform support code will share common
    routines with the platform bus (but the bus instances themselves can
    remain separate).

    This patch also adds 'struct resources *resource' and num_resources
    to match the fields defined in struct platform_device. After this
    change, 'struct platform_device' can be used as a drop-in replacement
    for 'struct of_platform'.

    This change is in preparation for merging the of_platform_bus_type
    with the platform_bus_type.

    Signed-off-by: Grant Likely
    Acked-by: David S. Miller
    Cc: Stephen Rothwell

    Grant Likely
     

19 May, 2010

2 commits

  • This patch eliminates the node pointer from struct of_device and the
    of_node (or prom_node) pointer from struct dev_archdata since the node
    pointer is now part of struct device proper when CONFIG_OF is set, and
    all users of the old pointer locations have already been converted over
    to use device->of_node.

    Also remove dev_archdata_{get,set}_node() as it is no longer used by
    anything.

    Signed-off-by: Grant Likely

    Grant Likely
     
  • The following structure elements duplicate the information in
    'struct device.of_node' and so are being eliminated. This patch
    makes all readers of these elements use device.of_node instead.

    (struct of_device *)->node
    (struct dev_archdata *)->prom_node (sparc)
    (struct dev_archdata *)->of_node (powerpc & microblaze)

    Signed-off-by: Grant Likely

    Grant Likely
     

29 Apr, 2010

1 commit

  • Currently, platforms using CONFIG_OF add a 'struct device_node *of_node'
    to dev->archdata. However, with CONFIG_OF becoming generic for all
    architectures, it makes sense for commonality to move it out of archdata
    and into struct device proper.

    This patch adds a struct device_node *of_node member to struct device
    and updates all locations which currently write the device_node pointer
    into archdata to also update dev->of_node. Subsequent patches will
    modify callers to use the archdata location and ultimately remove
    the archdata member entirely.

    Signed-off-by: Grant Likely
    Acked-by: Greg Kroah-Hartman
    CC: Michal Simek
    CC: Greg Kroah-Hartman
    CC: Benjamin Herrenschmidt
    CC: "David S. Miller"
    CC: Stephen Rothwell
    CC: Jeremy Kerr
    CC: microblaze-uclinux@itee.uq.edu.au
    CC: linux-kernel@vger.kernel.org
    CC: linuxppc-dev@ozlabs.org
    CC: sparclinux@vger.kernel.org

    Grant Likely
     

29 Jan, 2010

2 commits

  • Grant Likely
     
  • In struct device_node, the phandle is named 'linux_phandle' for PowerPC
    and MicroBlaze, and 'node' for SPARC. There is no good reason for the
    difference, it is just an artifact of the code diverging over a couple
    of years. This patch renames both to simply .phandle.

    Note: the .node also existed in PowerPC/MicroBlaze, but the only user
    seems to be arch/powerpc/platforms/powermac/pfunc_core.c. It doesn't
    look like the assignment between .linux_phandle and .node is
    significantly different enough to warrant the separate code paths
    unless ibm,phandle properties actually appear in Apple device trees.

    I think it is safe to eliminate the old .node property and use
    phandle everywhere.

    Signed-off-by: Grant Likely
    Acked-by: David S. Miller
    Tested-by: Wolfram Sang
    Acked-by: Benjamin Herrenschmidt

    Grant Likely
     

09 Dec, 2009

1 commit

  • When we are trying to see if a range property entry applies
    to a given address, we are overly strict about the type.

    We should only allow I/O ranges for I/O addresses, and only allow
    CONFIG space ranges for CONFIG space address.

    However for MEM ranges, they come in 32-bit and 64-bit flavors.
    And a lack of an exact match is OK if the range is 32-bit and
    the address is 64-bit. We can assign a 64-bit address properly
    into a 32-bit parent range just fine.

    So allow it.

    Reported-by: Patrick Finnegan
    Signed-off-by: David S. Miller

    David S. Miller
     

16 Jun, 2009

1 commit

  • This patch moves code common to of_device_32.c and of_device_64.c into
    of_device_common.h and of_device_common.c.

    The only functional difference is in sparc32 where of_bus_default_map is
    used in place of of_bus_sbus_map because they are equivelent.

    There is still room for further code consolidation with some minor
    refactoring.

    Boot tested on sparc32 and compile tested on sparc64.

    Signed-off-by: Robert Reif
    Signed-off-by: David S. Miller

    Robert Reif
     

22 Apr, 2009

1 commit

  • If there is a dummy "espdma" or "ledma" parent device above ESP scsi
    or LE ethernet device nodes, we have to match the bus as SBUS.

    Otherwise the address and size cell counts are wrong and we don't
    calculate the final physical device resource values correctly at all.

    Commit 5280267c1dddb8d413595b87dc406624bb497946 ("sparc: Fix handling
    of LANCE and ESP parent nodes in of_device.c") was meant to fix this
    problem, but that only influences the inner loop of
    build_device_resources(). We need this logic to also kick in at the
    beginning of build_device_resources() as well, when we make the first
    attempt to determine the device's immediate parent bus type for 'reg'
    property element extraction.

    Based almost entirely upon a patch by Friedrich Oslage.

    Tested-by: Meelis Roos
    Signed-off-by: David S. Miller

    David S. Miller
     

08 Apr, 2009

1 commit


07 Jan, 2009

1 commit

  • Andrew Morton wrote:

    People keep on doing

    printk("%llu", some_u64);

    testing it only on x86_64 and this generates a warning storm on
    powerpc, sparc64, etc. Because they use `long', not `long long'.

    Quite a few 64-bit architectures are using `long' for their
    s64/u64 types. We should convert them all to `long long'.

    Update types.h so we use unsigned long long for u64 and
    fix all warnings in sparc64 code.
    Tested with an allnoconfig, defconfig and allmodconfig builds.

    This patch introduces additional warnings in several drivers.
    These will be dealt with in separate patches.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Sam Ravnborg
     

31 Dec, 2008

1 commit


27 Dec, 2008

1 commit


05 Dec, 2008

1 commit

  • o Move all files from sparc64/kernel/ to sparc/kernel
    - rename as appropriate
    o Update sparc/Makefile to the changes
    o Update sparc/kernel/Makefile to include the sparc64 files

    NOTE: This commit changes link order on sparc64!

    Link order had to change for either of sparc32 and sparc64.
    And assuming sparc64 see more testing than sparc32 change link
    order on sparc64 where issues will be caught faster.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg