1. 10 Jun, 2011 2 commits
    • Chris Metcalf's avatar
      arch/tile: add hypervisor-based character driver for SPI flash ROM · dbcb4a1a
      Chris Metcalf authored
      The first version of this patch proposed an arch/tile/drivers/ directory,
      but the consensus was that this was probably a poor choice for a place to
      group Tilera-specific drivers, and that in any case grouping by platform
      was discouraged, and grouping by function was preferred.
      
      This version of the patch addresses various issues raised in the
      community, primarily the absence of sysfs integration.  The sysfs
      integration now handles passing information on sector size, page size,
      and total partition size to userspace as well.  In addition, we now
      use a single "struct cdev" to manage all the partition minor devices,
      and dynamically discover the correct number of partitions from the
      hypervisor rather than using a module_param with a default value.
      
      This driver has no particular "peer" drivers it can be grouped with.
      It is sort of like an MTD driver for SPI ROM, but it doesn't group well
      with the other MTD devices since it relies on hypervisor virtualization
      to handle many of the irritating aspects of flash ROM management: sector
      awareness, background read for sub-sector writes, bit examination to
      determine whether a sector erase needs to be issued, etc.  It is in fact
      more like an EEPROM driver, but the hypervisor virtualization does require
      a "flush" command if you wish to commit a sector write prior to writing
      to a different sector, and this is sufficiently different from generic
      I2C/SPI EEPROMs that as a result it doesn't group well with them either.
      
      The simple character device is already in use by a range of Tilera
      SPI ROM management tools, as well as by customers.  In addition, using
      the simple character device actually simplifies the userspace tools,
      since they don't need to manage sector erase, background read, etc.
      This both simplifies the code (since we can uniformly manage plain files
      and the SPI ROM) as well as makes the user code portable to non-Linux
      platforms that don't offer the same MTD ioctls.
      Signed-off-by: default avatarChris Metcalf <cmetcalf@tilera.com>
      Reviewed-by: default avatarArnd Bergmann <arnd@arndb.de>
      dbcb4a1a
    • Chris Metcalf's avatar
      ea41b1e5
  2. 03 Jun, 2011 2 commits
  3. 30 May, 2011 1 commit
  4. 29 May, 2011 35 commits