[LINUX,v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM
diff mbox series

Message ID 1554897429-5959-1-git-send-email-naga.sureshkumar.relli@xilinx.com
State New, archived
Headers show
Series
  • [LINUX,v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM
Related show

Commit Message

Naga Sureshkumar Relli April 10, 2019, 11:57 a.m. UTC
From: YueHaibing <yuehaibing@huawei.com>

When building with CONFIG_SPI_MEM is not set
gc warns this:

drivers/spi/spi-zynq-qspi.o: In function `zynq_qspi_supports_op':
spi-zynq-qspi.c:(.text+0x1da): undefined reference to `spi_mem_default_supports_op'

Fixes: 67dca5e580f1 ("spi: spi-mem: Add support for Zynq QSPI controller")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Naga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com>
---
Changes in v3
 - Updated the Author name
 - Removed extra line between Fixes and rest of the tags
Changes in v2
 - Added static inline to the function spi_mem_default_supports_op();
---
 include/linux/spi/spi-mem.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

YueHaibing April 10, 2019, 12:22 p.m. UTC | #1
On 2019/4/10 19:57, Naga Sureshkumar Relli wrote:
> From: YueHaibing <yuehaibing@huawei.com>
> 
> When building with CONFIG_SPI_MEM is not set
> gc warns this:
> 
> drivers/spi/spi-zynq-qspi.o: In function `zynq_qspi_supports_op':
> spi-zynq-qspi.c:(.text+0x1da): undefined reference to `spi_mem_default_supports_op'
> 
> Fixes: 67dca5e580f1 ("spi: spi-mem: Add support for Zynq QSPI controller")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> Signed-off-by: Naga Sureshkumar Relli <naga.sureshkumar.relli@xilinx.com>
> ---
> Changes in v3
>  - Updated the Author name
>  - Removed extra line between Fixes and rest of the tags
> Changes in v2
>  - Added static inline to the function spi_mem_default_supports_op();
> ---
>  include/linux/spi/spi-mem.h | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/include/linux/spi/spi-mem.h b/include/linux/spi/spi-mem.h
> index eb71e9d..bf399f2 100644
> --- a/include/linux/spi/spi-mem.h
> +++ b/include/linux/spi/spi-mem.h
> @@ -295,6 +295,8 @@ int spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr,
>  void spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr,
>  					  const struct spi_mem_op *op,
>  					  struct sg_table *sg);
> +bool spi_mem_default_supports_op(struct spi_mem *mem,
> +				 const struct spi_mem_op *op);
>  #else
>  static inline int
>  spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr,
> @@ -310,6 +312,9 @@ spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr,
>  				     struct sg_table *sg)
>  {
>  }
> +
> +static inline bool spi_mem_default_supports_op(struct spi_mem *mem,
> +				 const struct spi_mem_op *op);

Here miss a Function body, right?

+static inline bool
+spi_mem_default_supports_op(struct spi_mem *mem,
+			    const struct spi_mem_op *op)
+{
+	return false;
+}

>  #endif /* CONFIG_SPI_MEM */
>  
>  int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op);
> @@ -336,9 +341,6 @@ int spi_mem_driver_register_with_owner(struct spi_mem_driver *drv,
>  
>  void spi_mem_driver_unregister(struct spi_mem_driver *drv);
>  
> -bool spi_mem_default_supports_op(struct spi_mem *mem,
> -				 const struct spi_mem_op *op);
> -
>  #define spi_mem_driver_register(__drv)                                  \
>  	spi_mem_driver_register_with_owner(__drv, THIS_MODULE)
>  
>
Mark Brown April 10, 2019, 12:24 p.m. UTC | #2
On Wed, Apr 10, 2019 at 08:22:29PM +0800, YueHaibing wrote:
> On 2019/4/10 19:57, Naga Sureshkumar Relli wrote:

> > +static inline bool spi_mem_default_supports_op(struct spi_mem *mem,
> > +				 const struct spi_mem_op *op);

> Here miss a Function body, right?

Yeah, I'm surprised that builds...
Naga Sureshkumar Relli April 10, 2019, 12:30 p.m. UTC | #3
Hi,

> -----Original Message-----
> From: linux-spi-owner@vger.kernel.org <linux-spi-owner@vger.kernel.org> On Behalf Of
> Mark Brown
> Sent: Wednesday, April 10, 2019 5:55 PM
> To: YueHaibing <yuehaibing@huawei.com>
> Cc: Naga Sureshkumar Relli <nagasure@xilinx.com>; vigneshr@ti.com; linux-
> kernel@vger.kernel.org; linux-spi@vger.kernel.org; Michal Simek <michals@xilinx.com>;
> nagasuresh12@gmail.com
> Subject: Re: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM
> 
> On Wed, Apr 10, 2019 at 08:22:29PM +0800, YueHaibing wrote:
> > On 2019/4/10 19:57, Naga Sureshkumar Relli wrote:
> 
> > > +static inline bool spi_mem_default_supports_op(struct spi_mem *mem,
> > > +				 const struct spi_mem_op *op);
> 
> > Here miss a Function body, right?
> 
> Yeah, I'm surprised that builds...
Sorry, I tested with CONFIG_SPI_MEM enabled. It's my bad.

Regards,
Naga Sureshkumar Relli
Mark Brown April 10, 2019, 12:35 p.m. UTC | #4
On Wed, Apr 10, 2019 at 12:30:37PM +0000, Naga Sureshkumar Relli wrote:

> > Yeah, I'm surprised that builds...

> Sorry, I tested with CONFIG_SPI_MEM enabled. It's my bad.

I also see that I'd queued an earlier version for application.  I've
lost track of whatever issues there were with that, sorry - could one of
you please post an incremental patch for them?  IIRC they were nice to
haves and the patch that was applied fixes the correctness issue.
YueHaibing April 10, 2019, 1:10 p.m. UTC | #5
On 2019/4/10 20:35, Mark Brown wrote:
> On Wed, Apr 10, 2019 at 12:30:37PM +0000, Naga Sureshkumar Relli wrote:
> 
>>> Yeah, I'm surprised that builds...
> 
>> Sorry, I tested with CONFIG_SPI_MEM enabled. It's my bad.
> 
> I also see that I'd queued an earlier version for application.  I've
> lost track of whatever issues there were with that, sorry - could one of
> you please post an incremental patch for them?  IIRC they were nice to
> haves and the patch that was applied fixes the correctness issue.

Ok, there just make the stub helper to  static inline

I can post a new patch based my initial patch.

>

Patch
diff mbox series

diff --git a/include/linux/spi/spi-mem.h b/include/linux/spi/spi-mem.h
index eb71e9d..bf399f2 100644
--- a/include/linux/spi/spi-mem.h
+++ b/include/linux/spi/spi-mem.h
@@ -295,6 +295,8 @@  int spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr,
 void spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr,
 					  const struct spi_mem_op *op,
 					  struct sg_table *sg);
+bool spi_mem_default_supports_op(struct spi_mem *mem,
+				 const struct spi_mem_op *op);
 #else
 static inline int
 spi_controller_dma_map_mem_op_data(struct spi_controller *ctlr,
@@ -310,6 +312,9 @@  spi_controller_dma_unmap_mem_op_data(struct spi_controller *ctlr,
 				     struct sg_table *sg)
 {
 }
+
+static inline bool spi_mem_default_supports_op(struct spi_mem *mem,
+				 const struct spi_mem_op *op);
 #endif /* CONFIG_SPI_MEM */
 
 int spi_mem_adjust_op_size(struct spi_mem *mem, struct spi_mem_op *op);
@@ -336,9 +341,6 @@  int spi_mem_driver_register_with_owner(struct spi_mem_driver *drv,
 
 void spi_mem_driver_unregister(struct spi_mem_driver *drv);
 
-bool spi_mem_default_supports_op(struct spi_mem *mem,
-				 const struct spi_mem_op *op);
-
 #define spi_mem_driver_register(__drv)                                  \
 	spi_mem_driver_register_with_owner(__drv, THIS_MODULE)