Merge remote-tracking branches 'spi/topic/res', 'spi/topic/rockchip', 'spi/topic...
authorMark Brown <broonie@kernel.org>
Fri, 11 Mar 2016 07:28:53 +0000 (14:28 +0700)
committerMark Brown <broonie@kernel.org>
Fri, 11 Mar 2016 07:28:53 +0000 (14:28 +0700)
1  2  3  4  5  6 
drivers/spi/Kconfig
drivers/spi/spi-rockchip.c
include/linux/spi/spi.h

Simple merge
Simple merge
index f54667b7b3c85c9f87e084b325d1423f6a44dcbd,5396ee5fc51f8016ada605d3843ef74fbb074781,53be3a4c60cbe4d53388a18ef7ca96d3204b26cc,53be3a4c60cbe4d53388a18ef7ca96d3204b26cc,ba0dee9d05a3d7be68e8a884075443e95714a39f,53be3a4c60cbe4d53388a18ef7ca96d3204b26cc..857a9a1d82b58ad3569c7daeb9fffb17f690926a
@@@@@@@ -600,37 -582,38 -582,6 -582,6 -587,6 -582,6 +600,38 @@@@@@@ extern void spi_unregister_master(struc
      
      extern struct spi_master *spi_busnum_to_master(u16 busnum);
      
-     typedef void (*spi_res_release_t)(struct spi_master *master,
-                                 struct spi_message *msg,
-                                 void *res);
  ++++/*
  ++++ * SPI resource management while processing a SPI message
  ++++ */
  ++++
+ ++++typedef void (*spi_res_release_t)(struct spi_master *master,
+ ++++                            struct spi_message *msg,
+ ++++                            void *res);
+ ++++
  ++++/**
  ++++ * struct spi_res - spi resource management structure
  ++++ * @entry:   list entry
  ++++ * @release: release code called prior to freeing this resource
  ++++ * @data:    extra data allocated for the specific use-case
  ++++ *
  ++++ * this is based on ideas from devres, but focused on life-cycle
  ++++ * management during spi_message processing
  ++++ */
  ++++struct spi_res {
  ++++  struct list_head        entry;
  ++++  spi_res_release_t       release;
  ++++  unsigned long long      data[]; /* guarantee ull alignment */
  ++++};
  ++++
  ++++extern void *spi_res_alloc(struct spi_device *spi,
  ++++                     spi_res_release_t release,
  ++++                     size_t size, gfp_t gfp);
  ++++extern void spi_res_add(struct spi_message *message, void *res);
  ++++extern void spi_res_free(void *res);
  ++++
  ++++extern void spi_res_release(struct spi_master *master,
  ++++                      struct spi_message *message);
  ++++
      /*---------------------------------------------------------------------------*/
      
      /*