2019-04-10 13:11:41

by Naga Sureshkumar Relli

[permalink] [raw]
Subject: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM

From: YueHaibing <[email protected]>

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 <[email protected]>
Signed-off-by: Naga Sureshkumar Relli <[email protected]>
---
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);
#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)

--
2.7.4


2019-04-10 13:28:56

by Naga Sureshkumar Relli

[permalink] [raw]
Subject: RE: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM

Hi,

> -----Original Message-----
> From: [email protected] <[email protected]> On Behalf Of
> Mark Brown
> Sent: Wednesday, April 10, 2019 5:55 PM
> To: YueHaibing <[email protected]>
> Cc: Naga Sureshkumar Relli <[email protected]>; [email protected]; linux-
> [email protected]; [email protected]; Michal Simek <[email protected]>;
> [email protected]
> 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

2019-04-10 13:34:12

by Mark Brown

[permalink] [raw]
Subject: Re: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM

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.


Attachments:
(No filename) (463.00 B)
signature.asc (499.00 B)
Download all attachments

2019-04-10 13:39:48

by Yue Haibing

[permalink] [raw]
Subject: Re: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM

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.

>

2019-04-10 15:53:42

by Yue Haibing

[permalink] [raw]
Subject: Re: [LINUX PATCH v3] spi: spi-mem: Fix build error without CONFIG_SPI_MEM

On 2019/4/10 19:57, Naga Sureshkumar Relli wrote:
> From: YueHaibing <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Naga Sureshkumar Relli <[email protected]>
> ---
> 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)
>
>

2019-04-10 15:55:05

by Mark Brown

[permalink] [raw]
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...


Attachments:
(No filename) (308.00 B)
signature.asc (499.00 B)
Download all attachments