regmap updates in 3.5

A surprisingly large series of updates for regmap this time, mostly due to all the work Stephen Warren has done to add support for MMIO buses. This wasn’t really the target for the framework but it turns out that there’s a reasonable number of cases where it’s very helpful to use the register cache support to allow the register map to remain available while the device is suspended.

  • A MMIO bus implementation, contributed by Stephen Warren. Currently this is limited to 32 bit systems and native endian registers.
  • Support for naming register maps, mainly intended for MMIO devices with multiple register banks. This was also contributed by Stephen Warren.
  • Support for register striding, again contributed by Stephen Warren and mainly intended for use with MMIO as typically the registers will be a fixed size but byte addressed.
  • IRQ domain support for the generic regmap-irq controller, allowing devices to dynamically allocate interrupt ranges and support device tree bindings.
  • A function dev_get_regmap() which allows frameworks using regmap to obtain the regmap for a device from the struct device, making life a little simpler for them.
  • Updates to regmap-irq to support more chips (contributed by Graeme Gregory) and to use irqdomains.
  • Support for devices with 24 bit register addresses.