1. 30 11月, 2012 4 次提交
  2. 21 11月, 2012 4 次提交
  3. 17 11月, 2012 1 次提交
  4. 11 11月, 2012 1 次提交
  5. 18 10月, 2012 3 次提交
    • K
      of/platform: sparse fix · 24fb530f
      Kim Phillips 提交于
      drivers/of/platform.c:110:59: warning: incorrect type in argument 2 (different base types)
      drivers/of/platform.c:110:59:    expected restricted __be32 const [usertype] *addr
      drivers/of/platform.c:110:59:    got unsigned int const [usertype] *[assigned] reg
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      24fb530f
    • K
      of/irq: sparse fixes · d2e41518
      Kim Phillips 提交于
      drivers/of/irq.c:195:57: warning: restricted __be32 degrades to integer
      drivers/of/irq.c:196:51: warning: restricted __be32 degrades to integer
      drivers/of/irq.c:199:57: warning: restricted __be32 degrades to integer
      drivers/of/irq.c:201:58: warning: restricted __be32 degrades to integer
      drivers/of/irq.c:470:37: warning: incorrect type in assignment (different modifiers)
      drivers/of/irq.c:470:37:    expected int ( *[usertype] irq_init_cb )( ... )
      drivers/of/irq.c:470:37:    got void const *const data
      drivers/of/irq.c:96:5: error: symbol 'of_irq_map_raw' redeclared with different type (originally declared at include/linux/of_irq.h:61) - incompatible argument 2 (different base types)
      
      drivers/of/of_pci_irq.c:91:40: warning: incorrect type in argument 2 (different base types)
      drivers/of/of_pci_irq.c:91:40:    expected unsigned int const [usertype] *intspec
      drivers/of/of_pci_irq.c:91:40:    got restricted __be32 *<noident>
      drivers/of/of_pci_irq.c:91:53: warning: incorrect type in argument 4 (different base types)
      drivers/of/of_pci_irq.c:91:53:    expected unsigned int const [usertype] *addr
      drivers/of/of_pci_irq.c:91:53:    got restricted __be32 *<noident>
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      d2e41518
    • K
      of/address: sparse fixes · 47b1e689
      Kim Phillips 提交于
      drivers/of/address.c:66:29: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:66:29:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:66:29:    got unsigned int [usertype] *addr
      drivers/of/address.c:87:32: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:87:32:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:87:32:    got unsigned int [usertype] *addr
      drivers/of/address.c:91:30: warning: incorrect type in assignment (different base types)
      drivers/of/address.c:91:30:    expected unsigned int [unsigned] [usertype] <noident>
      drivers/of/address.c:91:30:    got restricted __be32 [usertype] <noident>
      drivers/of/address.c:92:22: warning: incorrect type in assignment (different base types)
      drivers/of/address.c:92:22:    expected unsigned int [unsigned] [usertype] <noident>
      drivers/of/address.c:92:22:    got restricted __be32 [usertype] <noident>
      drivers/of/address.c:147:35: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:147:35:    expected restricted __be32 const [usertype] *addr
      drivers/of/address.c:147:35:    got unsigned int [usertype] *addr
      drivers/of/address.c:157:34: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:157:34:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:157:34:    got unsigned int [usertype] *
      drivers/of/address.c:256:29: warning: restricted __be32 degrades to integer
      drivers/of/address.c:256:36: warning: restricted __be32 degrades to integer
      drivers/of/address.c:262:34: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:262:34:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:262:34:    got unsigned int [usertype] *
      drivers/of/address.c:372:41: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:372:41:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:372:41:    got unsigned int [usertype] *addr
      drivers/of/address.c:395:53: warning: incorrect type in argument 2 (different base types)
      drivers/of/address.c:395:53:    expected restricted __be32 const [usertype] *addr
      drivers/of/address.c:395:53:    got unsigned int [usertype] *addr
      drivers/of/address.c:443:50: warning: incorrect type in argument 2 (different base types)
      drivers/of/address.c:443:50:    expected restricted __be32 const [usertype] *addr
      drivers/of/address.c:443:50:    got unsigned int *<noident>
      drivers/of/address.c:455:49: warning: incorrect type in argument 1 (different base types)
      drivers/of/address.c:455:49:    expected restricted __be32 const [usertype] *cell
      drivers/of/address.c:455:49:    got unsigned int *<noident>
      drivers/of/address.c:480:60: warning: incorrect type in argument 2 (different base types)
      drivers/of/address.c:480:60:    expected restricted __be32 const [usertype] *addr
      drivers/of/address.c:480:60:    got unsigned int *<noident>
      drivers/of/address.c:412:5: warning: symbol '__of_translate_address' was not declared. Should it be static?
      drivers/of/address.c:520:14: error: symbol 'of_get_address' redeclared with different type (originally declared at include/linux/of_address.h:22) - different base types
      Signed-off-by: NKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      47b1e689
  6. 01 10月, 2012 1 次提交
  7. 08 9月, 2012 2 次提交
  8. 07 9月, 2012 1 次提交
  9. 20 8月, 2012 1 次提交
  10. 03 8月, 2012 1 次提交
    • S
      of: Allow busses with #size-cells=0 · 5d61b165
      Stephen Warren 提交于
      It's quite legitimate for a DT node to specify #size-cells=0. One example
      is a node that's used to collect a number of non-memory-mapped devices.
      In that scenario, there may be multiple child nodes with the same name
      (type) thus necessitating the use of unit addresses in node names, and
      reg properties:
      
      / {
      	regulators {
      		compatible = "simple-bus";
      		#address-cells = <1>;
      		#size-cells = <0>;
      
      		regulator@0 {
      			compatible = "regulator-fixed";
      			reg = <0>;
      			...
      		};
      
      		regulator@1 {
      			compatible = "regulator-fixed";
      			reg = <1>;
      			...
      		};
      
      		...
      	};
      };
      
      However, #size-cells=0 prevents translation of reg property values into
      the parent node's address space. In turn, this triggers the kernel to
      emit error messages during boot, such as:
      
          prom_parse: Bad cell count for /regulators/regulator@0
      
      To prevent printing these error messages for legitimate DT content, a
      number of changes are made:
      
      1) of_get_address()/of_get_pci_address() are modified only to validate
         the value of #address-cells, and not #size-cells.
      
      2) of_can_translate_address() is added to indicate whether address
         translation is possible.
      
      3) of_device_make_bus_id() is modified to name devices based on the
         translated address only where possible, and otherwise fall back to
         using the (first cell of the) raw untranslated address.
      
      4) of_device_alloc() is modified to create memory resources for a device
         only if the address can be translated into the CPU's address space.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      5d61b165
  11. 11 7月, 2012 2 次提交
  12. 10 7月, 2012 1 次提交
    • A
      of: mtd: nuke useless const qualifier · e95d8aaf
      Artem Bityutskiy 提交于
      This patch does the following:
       -const int of_get_nand_ecc_mode(struct device_node *np)
       +int of_get_nand_ecc_mode(struct device_node *np)
      
      because:
      1. it is probably just a typo?
      2. it causes warnings like this when people assing the returned
         value to an 'int' variable:
         include/linux/of_mtd.h:14:18: warning: type qualifiers ignored on functi=
      on return type [-Wignored-qualifiers]
      
      Remove also the unnecessary "extern" qualifier to be consistent with other
      declarations in this file.
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NRob Herring <rob.herring@calxeda.com>
      e95d8aaf
  13. 07 7月, 2012 1 次提交
    • L
      of: address: Don't fail a lookup just because a node has no reg property · 84774e61
      Lee Jones 提交于
      Sometimes it doesn't make any sense for a node to have an address.
      In this case device lookup will always be unsuccessful because we
      currently assume every node will have a reg property. This patch
      changes the semantics so that the resource address and the lookup
      address will only be compared if one exists.
      
      Things like AUXDATA() rely on of_dev_lookup to return the lookup
      entry of a particular device in order to do things like apply
      platform_data to a device. However, this is currently broken for
      nodes which do not have a reg property, meaning that platform_data
      can not be passed in those cases.
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      84774e61
  14. 06 7月, 2012 3 次提交
  15. 28 6月, 2012 2 次提交
    • D
      netdev/phy/of: Handle IEEE802.3 clause 45 Ethernet PHYs in of_mdiobus_register() · 6bd47ac2
      David Daney 提交于
      Define two new "compatible" values for Ethernet
      PHYs. "ethernet-phy-ieee802.3-c22" and "ethernet-phy-ieee802.3-c45"
      are used to indicate a PHY uses the corresponding protocol.
      
      If a PHY is "compatible" with "ethernet-phy-ieee802.3-c45", we
      indicate this so that get_phy_device() can properly probe the device.
      
      If get_phy_device() fails, it was probably due to failing the probe of
      the PHY identifier registers.  Since we have the device tree telling
      us the PHY exists, go ahead and add it anyhow with a phy_id of zero.
      There may be a driver match based on the "compatible" property.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6bd47ac2
    • D
      netdev/phy: Handle IEEE802.3 clause 45 Ethernet PHYs · ac28b9f8
      David Daney 提交于
      The IEEE802.3 clause 45 MDIO bus protocol allows for directly
      addressing PHY registers using a 21 bit address, and is used by many
      10G Ethernet PHYS.  Already existing is the ability of MDIO bus
      drivers to use clause 45, with the MII_ADDR_C45 flag.  Here we add
      struct phy_c45_device_ids to hold the device identifier registers
      present in clause 45. struct phy_device gets a couple of new fields:
      c45_ids to hold the identifiers and is_c45 to signal that it is clause
      45.
      
      get_phy_device() gets a new parameter is_c45 to indicate that the PHY
      device should use the clause 45 protocol, and its callers are adjusted
      to pass false.  The follow-on patch to of_mdio.c will pass true where
      appropriate.
      
      EXPORT phy_device_create() so that the follow-on patch to of_mdio.c
      can use it to create phy devices for PHYs, that have non-standard
      device identifier registers, based on the device tree bindings.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ac28b9f8
  16. 16 6月, 2012 1 次提交
    • G
      devicetree: add helper inline for retrieving a node's full name · efd68e72
      Grant Likely 提交于
      The pattern (np ? np->full_name : "<none>") is rather common in the
      kernel, but can also make for quite long lines.  This patch adds a new
      inline function, of_node_full_name() so that the test for a valid node
      pointer doesn't need to be open coded at all call sites.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      efd68e72
  17. 15 6月, 2012 1 次提交
  18. 14 6月, 2012 1 次提交
  19. 21 5月, 2012 1 次提交
  20. 12 5月, 2012 2 次提交
  21. 08 5月, 2012 1 次提交
    • D
      netdev/of/phy: New function: of_mdio_find_bus(). · 25106022
      David Daney 提交于
      Add of_mdio_find_bus() which allows an mii_bus to be located given its
      associated the device tree node.
      
      This is needed by the follow-on patch to add a driver for MDIO bus
      multiplexers.
      
      The of_mdiobus_register() function is modified so that the device tree
      node is recorded in the mii_bus.  Then we can find it again by
      iterating over all mdio_bus_class devices.
      
      Because the OF device tree has now become an integral part of the
      kernel, this can live in mdio_bus.c (which contains the needed
      mdio_bus_class structure) instead of of_mdio.c.
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25106022
  22. 23 4月, 2012 1 次提交
    • A
      ARM: spear: remove most mach/*.h header contents · 5019f0b1
      Arnd Bergmann 提交于
      The register and irq definitions in mach/*.h for spear3xx and
      spear6xx are now mostly obsolete, after the platforms have been
      converted to device tree based probing and the data is now
      part of the device tree files.
      
      The misc_regs.h contents are moved into clock.c because that is
      the only user, aside from the DMA_CHN_CFG that should eventually
      get handled differently. Some of the contents of mach/spear.h
      still remain, because they are used to set up the static map table,
      timer, uart and auxdata tables, but almost everything got removed.
      We might remove everything but the map table as the DT conversion
      completes, but that is not a priority. I've also made sure to
      make both copies of spear.h more or less identical so we can
      eventually combine them.
      
      The spear3?0.h files were only used by the spear3?0.c files, so I
      merged the contents in there and removed the bits that were unused.
      This is something that should still be looked at.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NViresh Kumar <viresh.kumar@st.com>
      5019f0b1
  23. 18 4月, 2012 1 次提交
    • S
      dt: add property iteration helpers · c541adc6
      Stephen Warren 提交于
      This patch adds macros of_property_for_each_u32() and
      of_property_for_each_string(), which iterate over an array of values
      within a device-tree property. Usage is for example:
      
      struct property *prop;
      const __be32 *p;
      u32 u;
      of_property_for_each_u32(np, "propname", prop, p, u)
      	printk("U32 value: %x\n", u);
      
      struct property *prop;
      const char *s;
      of_property_for_each_string(np, "propname", prop, s)
      	printk("String value: %s\n", s);
      
      Based on work by Rob Herring <robherring2@gmail.com>
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      c541adc6
  24. 14 4月, 2012 1 次提交
  25. 11 4月, 2012 1 次提交
  26. 08 4月, 2012 1 次提交