Message ID | 02cc610fb2e0c16f40dfaf7deac19271c718b2b3.1615980689.git.michal.simek@xilinx.com |
---|---|
State | Accepted |
Commit | 346df7d4fa62afc578d820b3a18815eec765074f |
Delegated to: | Simon Glass |
Headers | show |
Series | [v2] spi: spi-uclass: Add support to manually relocate spi memory ops | expand |
On 17/03/21 12:31PM, Michal Simek wrote: > From: T Karthik Reddy <t.karthik.reddy@xilinx.com> > > Add spi memory operations to relocate manually when > CONFIG_NEEDS_MANUAL_RELOC is enabled. > > Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> > Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> > Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
On 17/03/21 12:31PM, Michal Simek wrote: > From: T Karthik Reddy <t.karthik.reddy@xilinx.com> > > Add spi memory operations to relocate manually when > CONFIG_NEEDS_MANUAL_RELOC is enabled. > > Signed-off-by: T Karthik Reddy <t.karthik.reddy@xilinx.com> > Acked-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> > Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c index 7155d4aebd6d..ee30110b5658 100644 --- a/drivers/spi/spi-uclass.c +++ b/drivers/spi/spi-uclass.c @@ -11,6 +11,7 @@ #include <log.h> #include <malloc.h> #include <spi.h> +#include <spi-mem.h> #include <dm/device_compat.h> #include <asm/global_data.h> #include <dm/device-internal.h> @@ -199,6 +200,16 @@ static int spi_post_probe(struct udevice *bus) ops->set_mode += gd->reloc_off; if (ops->cs_info) ops->cs_info += gd->reloc_off; + if (ops->mem_ops) { + struct spi_controller_mem_ops *mem_ops = + (struct spi_controller_mem_ops *)ops->mem_ops; + if (mem_ops->adjust_op_size) + mem_ops->adjust_op_size += gd->reloc_off; + if (mem_ops->supports_op) + mem_ops->supports_op += gd->reloc_off; + if (mem_ops->exec_op) + mem_ops->exec_op += gd->reloc_off; + } reloc_done++; } #endif