* [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled
@ 2015-01-14 9:04 Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 02/11] fpga: Remove extern prototypes from .h Michal Simek
` (10 more replies)
0 siblings, 11 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
For case where CMD_FPGA_LOADMK is enabled and GZIP disable.
Warning log:
common/built-in.o: In function `do_fpga':
/mnt/disk/u-boot/common/cmd_fpga.c:218: undefined reference to `gunzip'
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
common/cmd_fpga.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/common/cmd_fpga.c b/common/cmd_fpga.c
index 8c5bf440fbb0..484a6c6ce036 100644
--- a/common/cmd_fpga.c
+++ b/common/cmd_fpga.c
@@ -211,6 +211,7 @@ int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
comp = image_get_comp(hdr);
if (comp == IH_COMP_GZIP) {
+#if defined(CONFIG_GZIP)
ulong image_buf = image_get_data(hdr);
data = image_get_load(hdr);
ulong image_size = ~0UL;
@@ -222,6 +223,10 @@ int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
return 1;
}
data_size = image_size;
+#else
+ puts("Gunzip image is not supported\n");
+ return 1;
+#endif
} else {
data = (ulong)image_get_data(hdr);
data_size = image_get_data_size(hdr);
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/66cc96ea/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 02/11] fpga: Remove extern prototypes from .h
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 03/11] fpga: Export fpga_get_desc for SPL Michal Simek
` (9 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
This problem is reported by checkpatch.pl
Warnings:
CHECK: extern prototypes should be avoided in .h files
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/fpga.h | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/include/fpga.h b/include/fpga.h
index 914024c17cb8..ef044e936294 100644
--- a/include/fpga.h
+++ b/include/fpga.h
@@ -49,18 +49,18 @@ typedef enum {
} bitstream_type;
/* root function definitions */
-extern void fpga_init(void);
-extern int fpga_add(fpga_type devtype, void *desc);
-extern int fpga_count(void);
-extern int fpga_load(int devnum, const void *buf, size_t bsize,
- bitstream_type bstype);
-extern int fpga_fsload(int devnum, const void *buf, size_t size,
- fpga_fs_info *fpga_fsinfo);
-extern int fpga_loadbitstream(int devnum, char *fpgadata, size_t size,
- bitstream_type bstype);
-extern int fpga_dump(int devnum, const void *buf, size_t bsize);
-extern int fpga_info(int devnum);
-extern const fpga_desc *const fpga_validate(int devnum, const void *buf,
- size_t bsize, char *fn);
+void fpga_init(void);
+int fpga_add(fpga_type devtype, void *desc);
+int fpga_count(void);
+int fpga_load(int devnum, const void *buf, size_t bsize,
+ bitstream_type bstype);
+int fpga_fsload(int devnum, const void *buf, size_t size,
+ fpga_fs_info *fpga_fsinfo);
+int fpga_loadbitstream(int devnum, char *fpgadata, size_t size,
+ bitstream_type bstype);
+int fpga_dump(int devnum, const void *buf, size_t bsize);
+int fpga_info(int devnum);
+const fpga_desc *const fpga_validate(int devnum, const void *buf,
+ size_t bsize, char *fn);
#endif /* _FPGA_H_ */
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/4ee3b0d8/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 03/11] fpga: Export fpga_get_desc for SPL
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 02/11] fpga: Remove extern prototypes from .h Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 04/11] fpga: xilinx: spartan2: Setup NULL fpga_op without driver Michal Simek
` (8 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
SPL needs to detect FPGA device which will be used
for loading bitstream.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
drivers/fpga/fpga.c | 2 +-
include/fpga.h | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/fpga/fpga.c b/drivers/fpga/fpga.c
index 37946d5e183a..d94eb5cc25c4 100644
--- a/drivers/fpga/fpga.c
+++ b/drivers/fpga/fpga.c
@@ -38,7 +38,7 @@ static void fpga_no_sup(char *fn, char *msg)
/* fpga_get_desc
* map a device number to a descriptor
*/
-static const fpga_desc *const fpga_get_desc(int devnum)
+const fpga_desc *const fpga_get_desc(int devnum)
{
fpga_desc *desc = (fpga_desc *)NULL;
diff --git a/include/fpga.h b/include/fpga.h
index ef044e936294..e0d12981b283 100644
--- a/include/fpga.h
+++ b/include/fpga.h
@@ -52,6 +52,7 @@ typedef enum {
void fpga_init(void);
int fpga_add(fpga_type devtype, void *desc);
int fpga_count(void);
+const fpga_desc *const fpga_get_desc(int devnum);
int fpga_load(int devnum, const void *buf, size_t bsize,
bitstream_type bstype);
int fpga_fsload(int devnum, const void *buf, size_t size,
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/06602eea/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 04/11] fpga: xilinx: spartan2: Setup NULL fpga_op without driver
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 02/11] fpga: Remove extern prototypes from .h Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 03/11] fpga: Export fpga_get_desc for SPL Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 05/11] fpga: xilinx: spartan3: " Michal Simek
` (7 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Set fpga operations to NULL for cases where
FPGA is setup in board file but driver is not added.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/spartan2.h | 38 +++++++++++++++++++++++++++-----------
1 file changed, 27 insertions(+), 11 deletions(-)
diff --git a/include/spartan2.h b/include/spartan2.h
index 2aca954e73ab..14606c303180 100644
--- a/include/spartan2.h
+++ b/include/spartan2.h
@@ -38,7 +38,12 @@ typedef struct {
xilinx_post_fn post;
} xilinx_spartan2_slave_serial_fns;
+#if defined(CONFIG_FPGA_SPARTAN2)
extern struct xilinx_fpga_op spartan2_op;
+# define FPGA_SPARTAN2_OPS &spartan2_op
+#else
+# define FPGA_SPARTAN2_OPS NULL
+#endif
/* Device Image Sizes
*********************************************************************/
@@ -61,36 +66,47 @@ extern struct xilinx_fpga_op spartan2_op;
*********************************************************************/
/* Spartan-II devices */
#define XILINX_XC2S15_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S15_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S15_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S30_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S30_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S30_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S50_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S50_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S50_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S100_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S100_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S100_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S150_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S150_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S150_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S200_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S200_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S200_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S50E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S50E_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S50E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S100E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S100E_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S100E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S150E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S150E_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S150E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S200E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S200E_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S200E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#define XILINX_XC2S300E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan2, iface, XILINX_XC2S300E_SIZE, fn_table, cookie, &spartan2_op }
+{ xilinx_spartan2, iface, XILINX_XC2S300E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN2_OPS }
#endif /* _SPARTAN2_H_ */
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/576fab15/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 05/11] fpga: xilinx: spartan3: Setup NULL fpga_op without driver
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (2 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 04/11] fpga: xilinx: spartan2: Setup NULL fpga_op without driver Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 06/11] fpga: xilinx: virtex2: " Michal Simek
` (6 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Set fpga operations to NULL for cases where
FPGA is setup in board file but driver is not added.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/spartan3.h | 45 +++++++++++++++++++++++++++++++--------------
1 file changed, 31 insertions(+), 14 deletions(-)
diff --git a/include/spartan3.h b/include/spartan3.h
index d6d67a6e560c..fcb27b01e4a7 100644
--- a/include/spartan3.h
+++ b/include/spartan3.h
@@ -40,7 +40,12 @@ typedef struct {
xilinx_abort_fn abort;
} xilinx_spartan3_slave_serial_fns;
+#if defined(CONFIG_FPGA_SPARTAN3)
extern struct xilinx_fpga_op spartan3_op;
+# define FPGA_SPARTAN3_OPS &spartan3_op
+#else
+# define FPGA_SPARTAN3_OPS NULL
+#endif
/* Device Image Sizes
*********************************************************************/
@@ -71,48 +76,60 @@ extern struct xilinx_fpga_op spartan3_op;
*********************************************************************/
/* Spartan-III devices */
#define XILINX_XC3S50_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S50_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S50_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S200_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S200_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S200_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S400_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S400_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S400_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S1000_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S1000_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S1000_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S1500_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S1500_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S1500_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S2000_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S2000_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S2000_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S4000_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S4000_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S4000_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S5000_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S5000_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S5000_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
/* Spartan-3E devices */
#define XILINX_XC3S100E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S100E_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S100E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S250E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S250E_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S250E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S500E_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINX_XC3S500E_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINX_XC3S500E_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S1200E_DESC(iface, fn_table, cookie) \
{ xilinx_spartan3, iface, XILINX_XC3S1200E_SIZE, fn_table, cookie, \
- &spartan3_op }
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC3S1600E_DESC(iface, fn_table, cookie) \
{ xilinx_spartan3, iface, XILINX_XC3S1600E_SIZE, fn_table, cookie, \
- &spartan3_op }
+ FPGA_SPARTAN3_OPS }
#define XILINX_XC6SLX4_DESC(iface, fn_table, cookie) \
-{ xilinx_spartan3, iface, XILINK_XC6SLX4_SIZE, fn_table, cookie, &spartan3_op }
+{ xilinx_spartan3, iface, XILINK_XC6SLX4_SIZE, fn_table, cookie, \
+ FPGA_SPARTAN3_OPS }
#endif /* _SPARTAN3_H_ */
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/38977cd2/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 06/11] fpga: xilinx: virtex2: Setup NULL fpga_op without driver
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (3 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 05/11] fpga: xilinx: spartan3: " Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 07/11] fpga: xilinx: virtex2: Fix macro indentation Michal Simek
` (5 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Set fpga operations to NULL for cases where
FPGA is setup in board file but driver is not added
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/virtex2.h | 45 +++++++++++++++++++++++++++++++--------------
1 file changed, 31 insertions(+), 14 deletions(-)
diff --git a/include/virtex2.h b/include/virtex2.h
index 7b7825f513e3..5944bbcb61b8 100644
--- a/include/virtex2.h
+++ b/include/virtex2.h
@@ -11,8 +11,6 @@
#include <xilinx.h>
-extern struct xilinx_fpga_op virtex2_op;
-
/*
* Slave SelectMap Implementation function table.
*/
@@ -40,6 +38,13 @@ typedef struct {
xilinx_wdata_fn wdata;
} xilinx_virtex2_slave_serial_fns;
+#if defined(CONFIG_FPGA_VIRTEX2)
+extern struct xilinx_fpga_op virtex2_op;
+# define FPGA_VIRTEX2_OPS &virtex2_op
+#else
+# define FPGA_VIRTEX2_OPS NULL
+#endif
+
/* Device Image Sizes (in bytes)
*********************************************************************/
#define XILINX_XC2V40_SIZE (338208 / 8)
@@ -58,39 +63,51 @@ typedef struct {
/* Descriptor Macros
*********************************************************************/
#define XILINX_XC2V40_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V40_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V40_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V80_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V80_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V80_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V250_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V250_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V250_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V500_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V500_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V500_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V1000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V1000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V1000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V1500_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V1500_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V1500_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V2000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V2000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V2000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V3000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V3000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V3000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V4000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V4000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V4000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V6000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V6000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V6000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V8000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V8000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V8000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#define XILINX_XC2V10000_DESC(iface, fn_table, cookie) \
-{ xilinx_virtex2, iface, XILINX_XC2V10000_SIZE, fn_table, cookie, &virtex2_op }
+{ xilinx_virtex2, iface, XILINX_XC2V10000_SIZE, fn_table, cookie, \
+ FPGA_VIRTEX2_OPS }
#endif /* _VIRTEX2_H_ */
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/985fd4a7/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 07/11] fpga: xilinx: virtex2: Fix macro indentation
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (4 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 06/11] fpga: xilinx: virtex2: " Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 08/11] fpga: xilinx: zynqpl: Setup NULL fpga_op without driver Michal Simek
` (4 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
No functional changes.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/virtex2.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/virtex2.h b/include/virtex2.h
index 5944bbcb61b8..503df9abaeaa 100644
--- a/include/virtex2.h
+++ b/include/virtex2.h
@@ -47,10 +47,10 @@ extern struct xilinx_fpga_op virtex2_op;
/* Device Image Sizes (in bytes)
*********************************************************************/
-#define XILINX_XC2V40_SIZE (338208 / 8)
-#define XILINX_XC2V80_SIZE (597408 / 8)
-#define XILINX_XC2V250_SIZE (1591584 / 8)
-#define XILINX_XC2V500_SIZE (2557857 / 8)
+#define XILINX_XC2V40_SIZE (338208 / 8)
+#define XILINX_XC2V80_SIZE (597408 / 8)
+#define XILINX_XC2V250_SIZE (1591584 / 8)
+#define XILINX_XC2V500_SIZE (2557857 / 8)
#define XILINX_XC2V1000_SIZE (3749408 / 8)
#define XILINX_XC2V1500_SIZE (5166240 / 8)
#define XILINX_XC2V2000_SIZE (6808352 / 8)
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/bbb2ca8a/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 08/11] fpga: xilinx: zynqpl: Setup NULL fpga_op without driver
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (5 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 07/11] fpga: xilinx: virtex2: Fix macro indentation Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined Michal Simek
` (3 subsequent siblings)
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Set fpga operations to NULL for cases where
FPGA is setup in board file but driver is not added
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
include/zynqpl.h | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/include/zynqpl.h b/include/zynqpl.h
index 8a9ec3297fbe..d0ff0d9a8bda 100644
--- a/include/zynqpl.h
+++ b/include/zynqpl.h
@@ -12,7 +12,12 @@
#include <xilinx.h>
+#if defined(CONFIG_FPGA_ZYNQPL)
extern struct xilinx_fpga_op zynq_op;
+# define FPGA_ZYNQPL_OPS &zynq_op
+#else
+# define FPGA_ZYNQPL_OPS NULL
+#endif
#define XILINX_ZYNQ_7010 0x2
#define XILINX_ZYNQ_7015 0x1b
@@ -31,21 +36,27 @@ extern struct xilinx_fpga_op zynq_op;
/* Descriptor Macros */
#define XILINX_XC7Z010_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z010_SIZE, NULL, cookie, &zynq_op, "7z010" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z010_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z010" }
#define XILINX_XC7Z015_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z015_SIZE, NULL, cookie, &zynq_op, "7z015" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z015_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z015" }
#define XILINX_XC7Z020_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z020_SIZE, NULL, cookie, &zynq_op, "7z020" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z020_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z020" }
#define XILINX_XC7Z030_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, &zynq_op, "7z030" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z030" }
#define XILINX_XC7Z045_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, &zynq_op, "7z045" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z045" }
#define XILINX_XC7Z100_DESC(cookie) \
-{ xilinx_zynq, devcfg, XILINX_XC7Z100_SIZE, NULL, cookie, &zynq_op, "7z100" }
+{ xilinx_zynq, devcfg, XILINX_XC7Z100_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z100" }
#endif /* _ZYNQPL_H_ */
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/db354a35/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (6 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 08/11] fpga: xilinx: zynqpl: Setup NULL fpga_op without driver Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 15:14 ` Simon Glass
2015-01-14 9:04 ` [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined Michal Simek
` (2 subsequent siblings)
10 siblings, 1 reply; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Ensure that operations are correctly setup.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
drivers/fpga/xilinx.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c
index adb4b8cd25fd..9c95148b25c1 100644
--- a/drivers/fpga/xilinx.c
+++ b/drivers/fpga/xilinx.c
@@ -139,6 +139,11 @@ int xilinx_load(xilinx_desc *desc, const void *buf, size_t bsize,
return FPGA_FAIL;
}
+ if (!desc->operations || !desc->operations->load) {
+ printf("%s: Missing load operation\n", __func__);
+ return FPGA_FAIL;
+ }
+
return desc->operations->load(desc, buf, bsize, bstype);
}
@@ -151,8 +156,10 @@ int xilinx_loadfs(xilinx_desc *desc, const void *buf, size_t bsize,
return FPGA_FAIL;
}
- if (!desc->operations->loadfs)
+ if (!desc->operations || !desc->operations->loadfs) {
+ printf("%s: Missing loadfs operation\n", __func__);
return FPGA_FAIL;
+ }
return desc->operations->loadfs(desc, buf, bsize, fpga_fsinfo);
}
@@ -165,6 +172,11 @@ int xilinx_dump(xilinx_desc *desc, const void *buf, size_t bsize)
return FPGA_FAIL;
}
+ if (!desc->operations || !desc->operations->dump) {
+ printf("%s: Missing dump operation\n", __func__);
+ return FPGA_FAIL;
+ }
+
return desc->operations->dump(desc, buf, bsize);
}
@@ -228,7 +240,8 @@ int xilinx_info(xilinx_desc *desc)
if (desc->iface_fns) {
printf ("Device Function Table @ 0x%p\n", desc->iface_fns);
- desc->operations->info(desc);
+ if (desc->operations && desc->operations->info)
+ desc->operations->info(desc);
} else
printf ("No Device Function Table.\n");
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/578262d7/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (7 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 15:16 ` Simon Glass
2015-01-14 9:04 ` [U-Boot] [PATCH 11/11] fpga: zynqpl: Add support for zc7035 Michal Simek
2015-01-14 15:11 ` [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Simon Glass
10 siblings, 1 reply; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
Show fpga_op->info even if desc->iface_fns is not defined.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
drivers/fpga/xilinx.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c
index 9c95148b25c1..c765a74a25e0 100644
--- a/drivers/fpga/xilinx.c
+++ b/drivers/fpga/xilinx.c
@@ -238,13 +238,14 @@ int xilinx_info(xilinx_desc *desc)
if (desc->name)
printf("Device name: \t%s\n", desc->name);
- if (desc->iface_fns) {
+ if (desc->iface_fns)
printf ("Device Function Table @ 0x%p\n", desc->iface_fns);
- if (desc->operations && desc->operations->info)
- desc->operations->info(desc);
- } else
+ else
printf ("No Device Function Table.\n");
+ if (desc->operations && desc->operations->info)
+ desc->operations->info(desc);
+
ret_val = FPGA_SUCCESS;
} else {
printf ("%s: Invalid device descriptor\n", __FUNCTION__);
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/12ac86d1/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 11/11] fpga: zynqpl: Add support for zc7035
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (8 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined Michal Simek
@ 2015-01-14 9:04 ` Michal Simek
2015-01-14 15:11 ` [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Simon Glass
10 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 9:04 UTC (permalink / raw)
To: u-boot
From: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Added support for zc7035
Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---
board/xilinx/zynq/board.c | 4 ++++
include/zynqpl.h | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
index 258632e52b0b..3a2198f8e830 100644
--- a/board/xilinx/zynq/board.c
+++ b/board/xilinx/zynq/board.c
@@ -24,6 +24,7 @@ static xilinx_desc fpga010 = XILINX_XC7Z010_DESC(0x10);
static xilinx_desc fpga015 = XILINX_XC7Z015_DESC(0x15);
static xilinx_desc fpga020 = XILINX_XC7Z020_DESC(0x20);
static xilinx_desc fpga030 = XILINX_XC7Z030_DESC(0x30);
+static xilinx_desc fpga035 = XILINX_XC7Z035_DESC(0x35);
static xilinx_desc fpga045 = XILINX_XC7Z045_DESC(0x45);
static xilinx_desc fpga100 = XILINX_XC7Z100_DESC(0x100);
#endif
@@ -49,6 +50,9 @@ int board_init(void)
case XILINX_ZYNQ_7030:
fpga = fpga030;
break;
+ case XILINX_ZYNQ_7035:
+ fpga = fpga035;
+ break;
case XILINX_ZYNQ_7045:
fpga = fpga045;
break;
diff --git a/include/zynqpl.h b/include/zynqpl.h
index d0ff0d9a8bda..1d37a51a04ef 100644
--- a/include/zynqpl.h
+++ b/include/zynqpl.h
@@ -23,6 +23,7 @@ extern struct xilinx_fpga_op zynq_op;
#define XILINX_ZYNQ_7015 0x1b
#define XILINX_ZYNQ_7020 0x7
#define XILINX_ZYNQ_7030 0xc
+#define XILINX_ZYNQ_7035 0x12
#define XILINX_ZYNQ_7045 0x11
#define XILINX_ZYNQ_7100 0x16
@@ -31,6 +32,7 @@ extern struct xilinx_fpga_op zynq_op;
#define XILINX_XC7Z015_SIZE 28085344/8
#define XILINX_XC7Z020_SIZE 32364512/8
#define XILINX_XC7Z030_SIZE 47839328/8
+#define XILINX_XC7Z035_SIZE 106571232/8
#define XILINX_XC7Z045_SIZE 106571232/8
#define XILINX_XC7Z100_SIZE 139330784/8
@@ -51,6 +53,10 @@ extern struct xilinx_fpga_op zynq_op;
{ xilinx_zynq, devcfg, XILINX_XC7Z030_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
"7z030" }
+#define XILINX_XC7Z035_DESC(cookie) \
+{ xilinx_zynq, devcfg, XILINX_XC7Z035_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
+ "7z035" }
+
#define XILINX_XC7Z045_DESC(cookie) \
{ xilinx_zynq, devcfg, XILINX_XC7Z045_SIZE, NULL, cookie, FPGA_ZYNQPL_OPS, \
"7z045" }
--
1.8.2.3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/ff121008/attachment.pgp>
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
` (9 preceding siblings ...)
2015-01-14 9:04 ` [U-Boot] [PATCH 11/11] fpga: zynqpl: Add support for zc7035 Michal Simek
@ 2015-01-14 15:11 ` Simon Glass
10 siblings, 0 replies; 15+ messages in thread
From: Simon Glass @ 2015-01-14 15:11 UTC (permalink / raw)
To: u-boot
On 14 January 2015 at 01:04, Michal Simek <michal.simek@xilinx.com> wrote:
> For case where CMD_FPGA_LOADMK is enabled and GZIP disable.
>
> Warning log:
> common/built-in.o: In function `do_fpga':
> /mnt/disk/u-boot/common/cmd_fpga.c:218: undefined reference to `gunzip'
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined
2015-01-14 9:04 ` [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined Michal Simek
@ 2015-01-14 15:14 ` Simon Glass
2015-01-14 15:17 ` Michal Simek
0 siblings, 1 reply; 15+ messages in thread
From: Simon Glass @ 2015-01-14 15:14 UTC (permalink / raw)
To: u-boot
On 14 January 2015 at 01:04, Michal Simek <michal.simek@xilinx.com> wrote:
> Ensure that operations are correctly setup.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
(comment below)
> ---
>
> drivers/fpga/xilinx.c | 17 +++++++++++++++--
> 1 file changed, 15 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c
> index adb4b8cd25fd..9c95148b25c1 100644
> --- a/drivers/fpga/xilinx.c
> +++ b/drivers/fpga/xilinx.c
> @@ -139,6 +139,11 @@ int xilinx_load(xilinx_desc *desc, const void *buf, size_t bsize,
> return FPGA_FAIL;
> }
>
> + if (!desc->operations || !desc->operations->load) {
> + printf("%s: Missing load operation\n", __func__);
> + return FPGA_FAIL;
I wonder if these error codes should be dropped in favour of the
standard ones? Perhaps in a separate patch. E.g. here we could use
-ENOSYS.
> + }
> +
> return desc->operations->load(desc, buf, bsize, bstype);
> }
>
> @@ -151,8 +156,10 @@ int xilinx_loadfs(xilinx_desc *desc, const void *buf, size_t bsize,
> return FPGA_FAIL;
> }
>
> - if (!desc->operations->loadfs)
> + if (!desc->operations || !desc->operations->loadfs) {
> + printf("%s: Missing loadfs operation\n", __func__);
> return FPGA_FAIL;
> + }
>
> return desc->operations->loadfs(desc, buf, bsize, fpga_fsinfo);
> }
> @@ -165,6 +172,11 @@ int xilinx_dump(xilinx_desc *desc, const void *buf, size_t bsize)
> return FPGA_FAIL;
> }
>
> + if (!desc->operations || !desc->operations->dump) {
> + printf("%s: Missing dump operation\n", __func__);
> + return FPGA_FAIL;
> + }
> +
> return desc->operations->dump(desc, buf, bsize);
> }
>
> @@ -228,7 +240,8 @@ int xilinx_info(xilinx_desc *desc)
>
> if (desc->iface_fns) {
> printf ("Device Function Table @ 0x%p\n", desc->iface_fns);
> - desc->operations->info(desc);
> + if (desc->operations && desc->operations->info)
> + desc->operations->info(desc);
> } else
> printf ("No Device Function Table.\n");
>
> --
> 1.8.2.3
>
Regards,
Simon
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined
2015-01-14 9:04 ` [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined Michal Simek
@ 2015-01-14 15:16 ` Simon Glass
0 siblings, 0 replies; 15+ messages in thread
From: Simon Glass @ 2015-01-14 15:16 UTC (permalink / raw)
To: u-boot
On 14 January 2015 at 01:04, Michal Simek <michal.simek@xilinx.com> wrote:
> Show fpga_op->info even if desc->iface_fns is not defined.
>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
> ---
>
> drivers/fpga/xilinx.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c
> index 9c95148b25c1..c765a74a25e0 100644
> --- a/drivers/fpga/xilinx.c
> +++ b/drivers/fpga/xilinx.c
> @@ -238,13 +238,14 @@ int xilinx_info(xilinx_desc *desc)
> if (desc->name)
> printf("Device name: \t%s\n", desc->name);
>
> - if (desc->iface_fns) {
> + if (desc->iface_fns)
> printf ("Device Function Table @ 0x%p\n", desc->iface_fns);
> - if (desc->operations && desc->operations->info)
> - desc->operations->info(desc);
> - } else
> + else
> printf ("No Device Function Table.\n");
>
> + if (desc->operations && desc->operations->info)
> + desc->operations->info(desc);
> +
> ret_val = FPGA_SUCCESS;
> } else {
> printf ("%s: Invalid device descriptor\n", __FUNCTION__);
> --
> 1.8.2.3
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined
2015-01-14 15:14 ` Simon Glass
@ 2015-01-14 15:17 ` Michal Simek
0 siblings, 0 replies; 15+ messages in thread
From: Michal Simek @ 2015-01-14 15:17 UTC (permalink / raw)
To: u-boot
On 01/14/2015 04:14 PM, Simon Glass wrote:
> On 14 January 2015 at 01:04, Michal Simek <michal.simek@xilinx.com> wrote:
>> Ensure that operations are correctly setup.
>>
>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>
> Reviewed-by: Simon Glass <sjg@chromium.org>
>
> (comment below)
>
>> ---
>>
>> drivers/fpga/xilinx.c | 17 +++++++++++++++--
>> 1 file changed, 15 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/fpga/xilinx.c b/drivers/fpga/xilinx.c
>> index adb4b8cd25fd..9c95148b25c1 100644
>> --- a/drivers/fpga/xilinx.c
>> +++ b/drivers/fpga/xilinx.c
>> @@ -139,6 +139,11 @@ int xilinx_load(xilinx_desc *desc, const void *buf, size_t bsize,
>> return FPGA_FAIL;
>> }
>>
>> + if (!desc->operations || !desc->operations->load) {
>> + printf("%s: Missing load operation\n", __func__);
>> + return FPGA_FAIL;
>
> I wonder if these error codes should be dropped in favour of the
> standard ones? Perhaps in a separate patch. E.g. here we could use
> -ENOSYS.
Definitely. They are bogus.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150114/80ca1a82/attachment.pgp>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2015-01-14 15:17 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-14 9:04 [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 02/11] fpga: Remove extern prototypes from .h Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 03/11] fpga: Export fpga_get_desc for SPL Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 04/11] fpga: xilinx: spartan2: Setup NULL fpga_op without driver Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 05/11] fpga: xilinx: spartan3: " Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 06/11] fpga: xilinx: virtex2: " Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 07/11] fpga: xilinx: virtex2: Fix macro indentation Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 08/11] fpga: xilinx: zynqpl: Setup NULL fpga_op without driver Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 09/11] fpga: xilinx: Check if fpga operations are defined Michal Simek
2015-01-14 15:14 ` Simon Glass
2015-01-14 15:17 ` Michal Simek
2015-01-14 9:04 ` [U-Boot] [PATCH 10/11] fpga: xilinx: Show fpga info if defined Michal Simek
2015-01-14 15:16 ` Simon Glass
2015-01-14 9:04 ` [U-Boot] [PATCH 11/11] fpga: zynqpl: Add support for zc7035 Michal Simek
2015-01-14 15:11 ` [U-Boot] [PATCH 01/11] fpga: Protect GZIP usage when LOADMK is enabled Simon Glass
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.