Commit 6385b28116f775da4771b768ba9bf93c3aaaf26e

Authored by Peter Tyser
Committed by Wolfgang Denk
1 parent cd1011db80

fpga: Remove relocation fixups

PPC boards are the only users of the current FPGA code which is littered
with manual relocation fixups.  Now that proper relocation is supported
for PPC boards, remove FPGA manual relocation.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>

Showing 22 changed files with 18 additions and 863 deletions Side-by-side Diff

board/esd/pmc440/fpga.c
... ... @@ -442,9 +442,9 @@
442 442 {
443 443 char *s;
444 444  
445   - debug("%s:%d: Initialize FPGA interface (relocation offset = 0x%.8lx)\n",
446   - __FUNCTION__, __LINE__, gd->reloc_off);
447   - fpga_init(gd->reloc_off);
  445 + debug("%s:%d: Initialize FPGA interface\n",
  446 + __FUNCTION__, __LINE__);
  447 + fpga_init();
448 448  
449 449 fpga_serialslave_init ();
450 450 debug("%s:%d: Adding fpga 0\n", __FUNCTION__, __LINE__);
board/gen860t/fpga.c
... ... @@ -193,8 +193,9 @@
193 193 {
194 194 int i;
195 195  
196   - PRINTF ("%s:%d: Initialize FPGA interface (relocation offset = 0x%.8lx)\n", __FUNCTION__, __LINE__, gd->reloc_off);
197   - fpga_init (gd->reloc_off);
  196 + PRINTF ("%s:%d: Initialize FPGA interface\n",
  197 + __FUNCTION__, __LINE__);
  198 + fpga_init ();
198 199 fpga_selectmap_init ();
199 200  
200 201 for (i = 0; i < CONFIG_FPGA_COUNT; i++) {
board/matrix_vision/mvbc_p/fpga.c
... ... @@ -46,7 +46,6 @@
46 46 fpga_wr_fn,
47 47 fpga_null_fn,
48 48 fpga_null_fn,
49   - 0
50 49 };
51 50  
52 51 Altera_desc cyclone2 = {
53 52  
... ... @@ -55,16 +54,14 @@
55 54 Altera_EP2C8_SIZE,
56 55 (void *) &altera_fns,
57 56 NULL,
58   - 0
59 57 };
60 58  
61 59 DECLARE_GLOBAL_DATA_PTR;
62 60  
63 61 int mvbc_p_init_fpga(void)
64 62 {
65   - fpga_debug("Initialize FPGA interface (reloc 0x%.8lx)\n",
66   - gd->reloc_off);
67   - fpga_init(gd->reloc_off);
  63 + fpga_debug("Initialize FPGA interface\n");
  64 + fpga_init();
68 65 fpga_add(fpga_altera, &cyclone2);
69 66 fpga_config_fn(0, 1, 0);
70 67 udelay(60);
board/matrix_vision/mvblm7/fpga.c
... ... @@ -46,7 +46,6 @@
46 46 fpga_wr_fn,
47 47 fpga_null_fn,
48 48 fpga_null_fn,
49   - 0
50 49 };
51 50  
52 51 Altera_desc cyclone2 = {
... ... @@ -62,9 +61,8 @@
62 61  
63 62 int mvblm7_init_fpga(void)
64 63 {
65   - fpga_debug("Initialize FPGA interface (reloc 0x%.8lx)\n",
66   - gd->reloc_off);
67   - fpga_init(gd->reloc_off);
  64 + fpga_debug("Initialize FPGA interface\n");
  65 + fpga_init();
68 66 fpga_add(fpga_altera, &cyclone2);
69 67 fpga_config_fn(0, 1, 0);
70 68 udelay(60);
board/prodrive/alpr/fpga.c
... ... @@ -244,8 +244,8 @@
244 244 {
245 245 int i;
246 246  
247   - PRINTF ("%s:%d: Initialize FPGA interface (relocation offset = 0x%.8lx)\n", __FUNCTION__, __LINE__, gd->reloc_off);
248   - fpga_init (gd->reloc_off);
  247 + PRINTF ("%s:%d: Initialize FPGA interface\n", __FUNCTION__, __LINE__);
  248 + fpga_init ();
249 249  
250 250 for (i = 0; i < CONFIG_FPGA_COUNT; i++) {
251 251 PRINTF ("%s:%d: Adding fpga %d\n", __FUNCTION__, __LINE__, i);
drivers/fpga/ACEX1K.c
... ... @@ -51,7 +51,6 @@
51 51 static int ACEX1K_ps_load( Altera_desc *desc, void *buf, size_t bsize );
52 52 static int ACEX1K_ps_dump( Altera_desc *desc, void *buf, size_t bsize );
53 53 /* static int ACEX1K_ps_info( Altera_desc *desc ); */
54   -static int ACEX1K_ps_reloc( Altera_desc *desc, ulong reloc_offset );
55 54  
56 55 /* ------------------------------------------------------------------------- */
57 56 /* ACEX1K Generic Implementation */
... ... @@ -101,31 +100,6 @@
101 100 }
102 101  
103 102  
104   -int ACEX1K_reloc (Altera_desc * desc, ulong reloc_offset)
105   -{
106   - int ret_val = FPGA_FAIL; /* assume a failure */
107   -
108   - if (desc->family != Altera_ACEX1K) {
109   - printf ("%s: Unsupported family type, %d\n",
110   - __FUNCTION__, desc->family);
111   - return FPGA_FAIL;
112   - } else
113   - switch (desc->iface) {
114   - case passive_serial:
115   - ret_val = ACEX1K_ps_reloc (desc, reloc_offset);
116   - break;
117   -
118   - /* Add new interface types here */
119   -
120   - default:
121   - printf ("%s: Unsupported interface type, %d\n",
122   - __FUNCTION__, desc->iface);
123   - }
124   -
125   - return ret_val;
126   -}
127   -
128   -
129 103 /* ------------------------------------------------------------------------- */
130 104 /* ACEX1K Passive Serial Generic Implementation */
131 105  
... ... @@ -289,75 +263,5 @@
289 263 printf ("%s: Passive Serial Dumping is unavailable\n",
290 264 __FUNCTION__);
291 265 return FPGA_FAIL;
292   -}
293   -
294   -static int ACEX1K_ps_reloc (Altera_desc * desc, ulong reloc_offset)
295   -{
296   - int ret_val = FPGA_FAIL; /* assume the worst */
297   - Altera_ACEX1K_Passive_Serial_fns *fn_r, *fn =
298   - (Altera_ACEX1K_Passive_Serial_fns *) (desc->iface_fns);
299   -
300   - if (fn) {
301   - ulong addr;
302   -
303   - /* Get the relocated table address */
304   - addr = (ulong) fn + reloc_offset;
305   - fn_r = (Altera_ACEX1K_Passive_Serial_fns *) addr;
306   -
307   - if (!fn_r->relocated) {
308   -
309   - if (memcmp (fn_r, fn,
310   - sizeof (Altera_ACEX1K_Passive_Serial_fns))
311   - == 0) {
312   - /* good copy of the table, fix the descriptor pointer */
313   - desc->iface_fns = fn_r;
314   - } else {
315   - PRINTF ("%s: Invalid function table at 0x%p\n",
316   - __FUNCTION__, fn_r);
317   - return FPGA_FAIL;
318   - }
319   -
320   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
321   - desc);
322   -
323   - addr = (ulong) (fn->pre) + reloc_offset;
324   - fn_r->pre = (Altera_pre_fn) addr;
325   -
326   - addr = (ulong) (fn->config) + reloc_offset;
327   - fn_r->config = (Altera_config_fn) addr;
328   -
329   - addr = (ulong) (fn->status) + reloc_offset;
330   - fn_r->status = (Altera_status_fn) addr;
331   -
332   - addr = (ulong) (fn->done) + reloc_offset;
333   - fn_r->done = (Altera_done_fn) addr;
334   -
335   - addr = (ulong) (fn->clk) + reloc_offset;
336   - fn_r->clk = (Altera_clk_fn) addr;
337   -
338   - addr = (ulong) (fn->data) + reloc_offset;
339   - fn_r->data = (Altera_data_fn) addr;
340   -
341   - addr = (ulong) (fn->abort) + reloc_offset;
342   - fn_r->abort = (Altera_abort_fn) addr;
343   -
344   - addr = (ulong) (fn->post) + reloc_offset;
345   - fn_r->post = (Altera_post_fn) addr;
346   -
347   - fn_r->relocated = TRUE;
348   -
349   - } else {
350   - /* this table has already been moved */
351   - /* XXX - should check to see if the descriptor is correct */
352   - desc->iface_fns = fn_r;
353   - }
354   -
355   - ret_val = FPGA_SUCCESS;
356   - } else {
357   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
358   - }
359   -
360   - return ret_val;
361   -
362 266 }
drivers/fpga/altera.c
... ... @@ -211,45 +211,6 @@
211 211 return ret_val;
212 212 }
213 213  
214   -int altera_reloc( Altera_desc *desc, ulong reloc_offset)
215   -{
216   - int ret_val = FPGA_FAIL; /* assume a failure */
217   -
218   - if (!altera_validate (desc, (char *)__FUNCTION__)) {
219   - printf ("%s: Invalid device descriptor\n", __FUNCTION__);
220   - } else {
221   - switch (desc->family) {
222   - case Altera_ACEX1K:
223   -#if defined(CONFIG_FPGA_ACEX1K)
224   - ret_val = ACEX1K_reloc (desc, reloc_offset);
225   -#else
226   - printf ("%s: No support for ACEX devices.\n",
227   - __FUNCTION__);
228   -#endif
229   - break;
230   -#if defined(CONFIG_FPGA_STRATIX_II)
231   - case Altera_StratixII:
232   - ret_val = StratixII_reloc (desc, reloc_offset);
233   - break;
234   -#endif
235   - case Altera_CYC2:
236   -#if defined(CONFIG_FPGA_CYCLON2)
237   - ret_val = CYC2_reloc (desc, reloc_offset);
238   -#else
239   - printf ("%s: No support for CYCLON II devices.\n",
240   - __FUNCTION__);
241   -#endif
242   - break;
243   - /* Add new family types here */
244   - default:
245   - printf ("%s: Unsupported family type, %d\n",
246   - __FUNCTION__, desc->family);
247   - }
248   - }
249   -
250   - return ret_val;
251   -}
252   -
253 214 /* ------------------------------------------------------------------------- */
254 215  
255 216 static int altera_validate (Altera_desc * desc, const char *fn)
drivers/fpga/cyclon2.c
... ... @@ -50,7 +50,6 @@
50 50 static int CYC2_ps_load( Altera_desc *desc, void *buf, size_t bsize );
51 51 static int CYC2_ps_dump( Altera_desc *desc, void *buf, size_t bsize );
52 52 /* static int CYC2_ps_info( Altera_desc *desc ); */
53   -static int CYC2_ps_reloc( Altera_desc *desc, ulong reloc_offset );
54 53  
55 54 /* ------------------------------------------------------------------------- */
56 55 /* CYCLON2 Generic Implementation */
... ... @@ -99,30 +98,6 @@
99 98 return FPGA_SUCCESS;
100 99 }
101 100  
102   -int CYC2_reloc (Altera_desc * desc, ulong reloc_offset)
103   -{
104   - int ret_val = FPGA_FAIL; /* assume a failure */
105   -
106   - if (desc->family != Altera_CYC2) {
107   - printf ("%s: Unsupported family type, %d\n",
108   - __FUNCTION__, desc->family);
109   - return FPGA_FAIL;
110   - } else
111   - switch (desc->iface) {
112   - case passive_serial:
113   - ret_val = CYC2_ps_reloc (desc, reloc_offset);
114   - break;
115   -
116   - /* Add new interface types here */
117   -
118   - default:
119   - printf ("%s: Unsupported interface type, %d\n",
120   - __FUNCTION__, desc->iface);
121   - }
122   -
123   - return ret_val;
124   -}
125   -
126 101 /* ------------------------------------------------------------------------- */
127 102 /* CYCLON2 Passive Serial Generic Implementation */
128 103 static int CYC2_ps_load (Altera_desc * desc, void *buf, size_t bsize)
... ... @@ -232,71 +207,5 @@
232 207 printf ("%s: Passive Serial Dumping is unavailable\n",
233 208 __FUNCTION__);
234 209 return FPGA_FAIL;
235   -}
236   -
237   -static int CYC2_ps_reloc (Altera_desc * desc, ulong reloc_offset)
238   -{
239   - int ret_val = FPGA_FAIL; /* assume the worst */
240   - Altera_CYC2_Passive_Serial_fns *fn_r, *fn =
241   - (Altera_CYC2_Passive_Serial_fns *) (desc->iface_fns);
242   -
243   - if (fn) {
244   - ulong addr;
245   -
246   - /* Get the relocated table address */
247   - addr = (ulong) fn + reloc_offset;
248   - fn_r = (Altera_CYC2_Passive_Serial_fns *) addr;
249   -
250   - if (!fn_r->relocated) {
251   -
252   - if (memcmp (fn_r, fn,
253   - sizeof (Altera_CYC2_Passive_Serial_fns))
254   - == 0) {
255   - /* good copy of the table, fix the descriptor pointer */
256   - desc->iface_fns = fn_r;
257   - } else {
258   - PRINTF ("%s: Invalid function table at 0x%p\n",
259   - __FUNCTION__, fn_r);
260   - return FPGA_FAIL;
261   - }
262   -
263   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
264   - desc);
265   -
266   - addr = (ulong) (fn->pre) + reloc_offset;
267   - fn_r->pre = (Altera_pre_fn) addr;
268   -
269   - addr = (ulong) (fn->config) + reloc_offset;
270   - fn_r->config = (Altera_config_fn) addr;
271   -
272   - addr = (ulong) (fn->status) + reloc_offset;
273   - fn_r->status = (Altera_status_fn) addr;
274   -
275   - addr = (ulong) (fn->done) + reloc_offset;
276   - fn_r->done = (Altera_done_fn) addr;
277   -
278   - addr = (ulong) (fn->write) + reloc_offset;
279   - fn_r->write = (Altera_write_fn) addr;
280   -
281   - addr = (ulong) (fn->abort) + reloc_offset;
282   - fn_r->abort = (Altera_abort_fn) addr;
283   -
284   - addr = (ulong) (fn->post) + reloc_offset;
285   - fn_r->post = (Altera_post_fn) addr;
286   -
287   - fn_r->relocated = TRUE;
288   -
289   - } else {
290   - /* this table has already been moved */
291   - /* XXX - should check to see if the descriptor is correct */
292   - desc->iface_fns = fn_r;
293   - }
294   -
295   - ret_val = FPGA_SUCCESS;
296   - } else {
297   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
298   - }
299   -
300   - return ret_val;
301 210 }
... ... @@ -46,7 +46,6 @@
46 46 #endif
47 47  
48 48 /* Local static data */
49   -static ulong relocation_offset = 0;
50 49 static int next_desc = FPGA_INVALID_DEVICE;
51 50 static fpga_desc desc_table[CONFIG_MAX_FPGA_DEVICES];
52 51  
53 52  
54 53  
... ... @@ -153,46 +152,12 @@
153 152 }
154 153  
155 154  
156   -/* fpga_reloc
157   - * generic multiplexing code
158   - */
159   -int fpga_reloc( fpga_type devtype, void *desc, ulong reloc_off )
160   -{
161   - int ret_val = FPGA_FAIL;
162   -
163   - PRINTF( "%s: Relocating Device of type %d @ 0x%p with offset %lx\n",
164   - __FUNCTION__, devtype, desc, reloc_off );
165   -
166   - switch ( devtype ) {
167   - case fpga_xilinx:
168   -#if defined(CONFIG_FPGA_XILINX)
169   - ret_val = xilinx_reloc( desc, reloc_off );
170   -#else
171   - fpga_no_sup( (char *)__FUNCTION__, "Xilinx devices" );
172   -#endif
173   - break;
174   - case fpga_altera:
175   -#if defined(CONFIG_FPGA_ALTERA)
176   - ret_val = altera_reloc( desc, reloc_off );
177   -#else
178   - fpga_no_sup( (char *)__FUNCTION__, "Altera devices" );
179   -#endif
180   - break;
181   - default:
182   - printf( "%s: Invalid or unsupported device type %d\n",
183   - __FUNCTION__, devtype );
184   - }
185   -
186   - return ret_val;
187   -}
188   -
189 155 /* ------------------------------------------------------------------------- */
190 156 /* fgpa_init is usually called from misc_init_r() and MUST be called
191 157 * before any of the other fpga functions are used.
192 158 */
193   -void fpga_init( ulong reloc_off )
  159 +void fpga_init(void)
194 160 {
195   - relocation_offset = reloc_off;
196 161 next_desc = 0;
197 162 memset( desc_table, 0, sizeof(desc_table));
198 163  
... ... @@ -208,9 +173,7 @@
208 173 }
209 174  
210 175 /* fpga_add
211   - * Attempts to relocate the device/board specific interface code
212   - * to the proper RAM locations and adds the device descriptor to
213   - * the device table.
  176 + * Add the device descriptor to the device table.
214 177 */
215 178 int fpga_add( fpga_type devtype, void *desc )
216 179 {
... ... @@ -221,15 +184,9 @@
221 184 } else if (( devtype > fpga_min_type ) && ( devtype < fpga_undefined )) {
222 185 if ( desc ) {
223 186 if ( next_desc < CONFIG_MAX_FPGA_DEVICES ) {
224   - if ( fpga_reloc( devtype, desc, relocation_offset )
225   - == FPGA_SUCCESS ) {
226   - devnum = next_desc;
227   - desc_table[next_desc].devtype = devtype;
228   - desc_table[next_desc++].devdesc = desc;
229   - } else {
230   - printf( "%s: Unable to relocate device interface table!\n",
231   - __FUNCTION__ );
232   - }
  187 + devnum = next_desc;
  188 + desc_table[next_desc].devtype = devtype;
  189 + desc_table[next_desc++].devdesc = desc;
233 190 } else {
234 191 printf( "%s: Exceeded Max FPGA device count\n", __FUNCTION__ );
235 192 }
drivers/fpga/spartan2.c
... ... @@ -51,12 +51,10 @@
51 51 static int Spartan2_sp_load( Xilinx_desc *desc, void *buf, size_t bsize );
52 52 static int Spartan2_sp_dump( Xilinx_desc *desc, void *buf, size_t bsize );
53 53 /* static int Spartan2_sp_info( Xilinx_desc *desc ); */
54   -static int Spartan2_sp_reloc( Xilinx_desc *desc, ulong reloc_offset );
55 54  
56 55 static int Spartan2_ss_load( Xilinx_desc *desc, void *buf, size_t bsize );
57 56 static int Spartan2_ss_dump( Xilinx_desc *desc, void *buf, size_t bsize );
58 57 /* static int Spartan2_ss_info( Xilinx_desc *desc ); */
59   -static int Spartan2_ss_reloc( Xilinx_desc *desc, ulong reloc_offset );
60 58  
61 59 /* ------------------------------------------------------------------------- */
62 60 /* Spartan-II Generic Implementation */
... ... @@ -112,33 +110,6 @@
112 110 }
113 111  
114 112  
115   -int Spartan2_reloc (Xilinx_desc * desc, ulong reloc_offset)
116   -{
117   - int ret_val = FPGA_FAIL; /* assume a failure */
118   -
119   - if (desc->family != Xilinx_Spartan2) {
120   - printf ("%s: Unsupported family type, %d\n",
121   - __FUNCTION__, desc->family);
122   - return FPGA_FAIL;
123   - } else
124   - switch (desc->iface) {
125   - case slave_serial:
126   - ret_val = Spartan2_ss_reloc (desc, reloc_offset);
127   - break;
128   -
129   - case slave_parallel:
130   - ret_val = Spartan2_sp_reloc (desc, reloc_offset);
131   - break;
132   -
133   - default:
134   - printf ("%s: Unsupported interface type, %d\n",
135   - __FUNCTION__, desc->iface);
136   - }
137   -
138   - return ret_val;
139   -}
140   -
141   -
142 113 /* ------------------------------------------------------------------------- */
143 114 /* Spartan-II Slave Parallel Generic Implementation */
144 115  
... ... @@ -340,93 +311,6 @@
340 311 }
341 312  
342 313  
343   -static int Spartan2_sp_reloc (Xilinx_desc * desc, ulong reloc_offset)
344   -{
345   - int ret_val = FPGA_FAIL; /* assume the worst */
346   - Xilinx_Spartan2_Slave_Parallel_fns *fn_r, *fn =
347   - (Xilinx_Spartan2_Slave_Parallel_fns *) (desc->iface_fns);
348   -
349   - if (fn) {
350   - ulong addr;
351   -
352   - /* Get the relocated table address */
353   - addr = (ulong) fn + reloc_offset;
354   - fn_r = (Xilinx_Spartan2_Slave_Parallel_fns *) addr;
355   -
356   - if (!fn_r->relocated) {
357   -
358   - if (memcmp (fn_r, fn,
359   - sizeof (Xilinx_Spartan2_Slave_Parallel_fns))
360   - == 0) {
361   - /* good copy of the table, fix the descriptor pointer */
362   - desc->iface_fns = fn_r;
363   - } else {
364   - PRINTF ("%s: Invalid function table at 0x%p\n",
365   - __FUNCTION__, fn_r);
366   - return FPGA_FAIL;
367   - }
368   -
369   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
370   - desc);
371   -
372   - addr = (ulong) (fn->pre) + reloc_offset;
373   - fn_r->pre = (Xilinx_pre_fn) addr;
374   -
375   - addr = (ulong) (fn->pgm) + reloc_offset;
376   - fn_r->pgm = (Xilinx_pgm_fn) addr;
377   -
378   - addr = (ulong) (fn->init) + reloc_offset;
379   - fn_r->init = (Xilinx_init_fn) addr;
380   -
381   - addr = (ulong) (fn->done) + reloc_offset;
382   - fn_r->done = (Xilinx_done_fn) addr;
383   -
384   - addr = (ulong) (fn->clk) + reloc_offset;
385   - fn_r->clk = (Xilinx_clk_fn) addr;
386   -
387   - addr = (ulong) (fn->err) + reloc_offset;
388   - fn_r->err = (Xilinx_err_fn) addr;
389   -
390   - addr = (ulong) (fn->cs) + reloc_offset;
391   - fn_r->cs = (Xilinx_cs_fn) addr;
392   -
393   - addr = (ulong) (fn->wr) + reloc_offset;
394   - fn_r->wr = (Xilinx_wr_fn) addr;
395   -
396   - addr = (ulong) (fn->rdata) + reloc_offset;
397   - fn_r->rdata = (Xilinx_rdata_fn) addr;
398   -
399   - addr = (ulong) (fn->wdata) + reloc_offset;
400   - fn_r->wdata = (Xilinx_wdata_fn) addr;
401   -
402   - addr = (ulong) (fn->busy) + reloc_offset;
403   - fn_r->busy = (Xilinx_busy_fn) addr;
404   -
405   - addr = (ulong) (fn->abort) + reloc_offset;
406   - fn_r->abort = (Xilinx_abort_fn) addr;
407   -
408   - if (fn->post) {
409   - addr = (ulong) (fn->post) + reloc_offset;
410   - fn_r->post = (Xilinx_post_fn) addr;
411   - }
412   -
413   - fn_r->relocated = TRUE;
414   -
415   - } else {
416   - /* this table has already been moved */
417   - /* XXX - should check to see if the descriptor is correct */
418   - desc->iface_fns = fn_r;
419   - }
420   -
421   - ret_val = FPGA_SUCCESS;
422   - } else {
423   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
424   - }
425   -
426   - return ret_val;
427   -
428   -}
429   -
430 314 /* ------------------------------------------------------------------------- */
431 315  
432 316 static int Spartan2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize)
... ... @@ -579,76 +463,5 @@
579 463 printf ("%s: Slave Serial Dumping is unavailable\n",
580 464 __FUNCTION__);
581 465 return FPGA_FAIL;
582   -}
583   -
584   -static int Spartan2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset)
585   -{
586   - int ret_val = FPGA_FAIL; /* assume the worst */
587   - Xilinx_Spartan2_Slave_Serial_fns *fn_r, *fn =
588   - (Xilinx_Spartan2_Slave_Serial_fns *) (desc->iface_fns);
589   -
590   - if (fn) {
591   - ulong addr;
592   -
593   - /* Get the relocated table address */
594   - addr = (ulong) fn + reloc_offset;
595   - fn_r = (Xilinx_Spartan2_Slave_Serial_fns *) addr;
596   -
597   - if (!fn_r->relocated) {
598   -
599   - if (memcmp (fn_r, fn,
600   - sizeof (Xilinx_Spartan2_Slave_Serial_fns))
601   - == 0) {
602   - /* good copy of the table, fix the descriptor pointer */
603   - desc->iface_fns = fn_r;
604   - } else {
605   - PRINTF ("%s: Invalid function table at 0x%p\n",
606   - __FUNCTION__, fn_r);
607   - return FPGA_FAIL;
608   - }
609   -
610   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
611   - desc);
612   -
613   - if (fn->pre) {
614   - addr = (ulong) (fn->pre) + reloc_offset;
615   - fn_r->pre = (Xilinx_pre_fn) addr;
616   - }
617   -
618   - addr = (ulong) (fn->pgm) + reloc_offset;
619   - fn_r->pgm = (Xilinx_pgm_fn) addr;
620   -
621   - addr = (ulong) (fn->init) + reloc_offset;
622   - fn_r->init = (Xilinx_init_fn) addr;
623   -
624   - addr = (ulong) (fn->done) + reloc_offset;
625   - fn_r->done = (Xilinx_done_fn) addr;
626   -
627   - addr = (ulong) (fn->clk) + reloc_offset;
628   - fn_r->clk = (Xilinx_clk_fn) addr;
629   -
630   - addr = (ulong) (fn->wr) + reloc_offset;
631   - fn_r->wr = (Xilinx_wr_fn) addr;
632   -
633   - if (fn->post) {
634   - addr = (ulong) (fn->post) + reloc_offset;
635   - fn_r->post = (Xilinx_post_fn) addr;
636   - }
637   -
638   - fn_r->relocated = TRUE;
639   -
640   - } else {
641   - /* this table has already been moved */
642   - /* XXX - should check to see if the descriptor is correct */
643   - desc->iface_fns = fn_r;
644   - }
645   -
646   - ret_val = FPGA_SUCCESS;
647   - } else {
648   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
649   - }
650   -
651   - return ret_val;
652   -
653 466 }
drivers/fpga/spartan3.c
... ... @@ -56,12 +56,10 @@
56 56 static int Spartan3_sp_load( Xilinx_desc *desc, void *buf, size_t bsize );
57 57 static int Spartan3_sp_dump( Xilinx_desc *desc, void *buf, size_t bsize );
58 58 /* static int Spartan3_sp_info( Xilinx_desc *desc ); */
59   -static int Spartan3_sp_reloc( Xilinx_desc *desc, ulong reloc_offset );
60 59  
61 60 static int Spartan3_ss_load( Xilinx_desc *desc, void *buf, size_t bsize );
62 61 static int Spartan3_ss_dump( Xilinx_desc *desc, void *buf, size_t bsize );
63 62 /* static int Spartan3_ss_info( Xilinx_desc *desc ); */
64   -static int Spartan3_ss_reloc( Xilinx_desc *desc, ulong reloc_offset );
65 63  
66 64 /* ------------------------------------------------------------------------- */
67 65 /* Spartan-II Generic Implementation */
... ... @@ -117,33 +115,6 @@
117 115 }
118 116  
119 117  
120   -int Spartan3_reloc (Xilinx_desc * desc, ulong reloc_offset)
121   -{
122   - int ret_val = FPGA_FAIL; /* assume a failure */
123   -
124   - if (desc->family != Xilinx_Spartan3) {
125   - printf ("%s: Unsupported family type, %d\n",
126   - __FUNCTION__, desc->family);
127   - return FPGA_FAIL;
128   - } else
129   - switch (desc->iface) {
130   - case slave_serial:
131   - ret_val = Spartan3_ss_reloc (desc, reloc_offset);
132   - break;
133   -
134   - case slave_parallel:
135   - ret_val = Spartan3_sp_reloc (desc, reloc_offset);
136   - break;
137   -
138   - default:
139   - printf ("%s: Unsupported interface type, %d\n",
140   - __FUNCTION__, desc->iface);
141   - }
142   -
143   - return ret_val;
144   -}
145   -
146   -
147 118 /* ------------------------------------------------------------------------- */
148 119 /* Spartan-II Slave Parallel Generic Implementation */
149 120  
... ... @@ -347,91 +318,6 @@
347 318 }
348 319  
349 320  
350   -static int Spartan3_sp_reloc (Xilinx_desc * desc, ulong reloc_offset)
351   -{
352   - int ret_val = FPGA_FAIL; /* assume the worst */
353   - Xilinx_Spartan3_Slave_Parallel_fns *fn_r, *fn =
354   - (Xilinx_Spartan3_Slave_Parallel_fns *) (desc->iface_fns);
355   -
356   - if (fn) {
357   - ulong addr;
358   -
359   - /* Get the relocated table address */
360   - addr = (ulong) fn + reloc_offset;
361   - fn_r = (Xilinx_Spartan3_Slave_Parallel_fns *) addr;
362   -
363   - if (!fn_r->relocated) {
364   -
365   - if (memcmp (fn_r, fn,
366   - sizeof (Xilinx_Spartan3_Slave_Parallel_fns))
367   - == 0) {
368   - /* good copy of the table, fix the descriptor pointer */
369   - desc->iface_fns = fn_r;
370   - } else {
371   - PRINTF ("%s: Invalid function table at 0x%p\n",
372   - __FUNCTION__, fn_r);
373   - return FPGA_FAIL;
374   - }
375   -
376   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
377   - desc);
378   -
379   - addr = (ulong) (fn->pre) + reloc_offset;
380   - fn_r->pre = (Xilinx_pre_fn) addr;
381   -
382   - addr = (ulong) (fn->pgm) + reloc_offset;
383   - fn_r->pgm = (Xilinx_pgm_fn) addr;
384   -
385   - addr = (ulong) (fn->init) + reloc_offset;
386   - fn_r->init = (Xilinx_init_fn) addr;
387   -
388   - addr = (ulong) (fn->done) + reloc_offset;
389   - fn_r->done = (Xilinx_done_fn) addr;
390   -
391   - addr = (ulong) (fn->clk) + reloc_offset;
392   - fn_r->clk = (Xilinx_clk_fn) addr;
393   -
394   - addr = (ulong) (fn->err) + reloc_offset;
395   - fn_r->err = (Xilinx_err_fn) addr;
396   -
397   - addr = (ulong) (fn->cs) + reloc_offset;
398   - fn_r->cs = (Xilinx_cs_fn) addr;
399   -
400   - addr = (ulong) (fn->wr) + reloc_offset;
401   - fn_r->wr = (Xilinx_wr_fn) addr;
402   -
403   - addr = (ulong) (fn->rdata) + reloc_offset;
404   - fn_r->rdata = (Xilinx_rdata_fn) addr;
405   -
406   - addr = (ulong) (fn->wdata) + reloc_offset;
407   - fn_r->wdata = (Xilinx_wdata_fn) addr;
408   -
409   - addr = (ulong) (fn->busy) + reloc_offset;
410   - fn_r->busy = (Xilinx_busy_fn) addr;
411   -
412   - addr = (ulong) (fn->abort) + reloc_offset;
413   - fn_r->abort = (Xilinx_abort_fn) addr;
414   -
415   - addr = (ulong) (fn->post) + reloc_offset;
416   - fn_r->post = (Xilinx_post_fn) addr;
417   -
418   - fn_r->relocated = TRUE;
419   -
420   - } else {
421   - /* this table has already been moved */
422   - /* XXX - should check to see if the descriptor is correct */
423   - desc->iface_fns = fn_r;
424   - }
425   -
426   - ret_val = FPGA_SUCCESS;
427   - } else {
428   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
429   - }
430   -
431   - return ret_val;
432   -
433   -}
434   -
435 321 /* ------------------------------------------------------------------------- */
436 322  
437 323 static int Spartan3_ss_load (Xilinx_desc * desc, void *buf, size_t bsize)
... ... @@ -586,76 +472,5 @@
586 472 printf ("%s: Slave Serial Dumping is unavailable\n",
587 473 __FUNCTION__);
588 474 return FPGA_FAIL;
589   -}
590   -
591   -static int Spartan3_ss_reloc (Xilinx_desc * desc, ulong reloc_offset)
592   -{
593   - int ret_val = FPGA_FAIL; /* assume the worst */
594   - Xilinx_Spartan3_Slave_Serial_fns *fn_r, *fn =
595   - (Xilinx_Spartan3_Slave_Serial_fns *) (desc->iface_fns);
596   -
597   - if (fn) {
598   - ulong addr;
599   -
600   - /* Get the relocated table address */
601   - addr = (ulong) fn + reloc_offset;
602   - fn_r = (Xilinx_Spartan3_Slave_Serial_fns *) addr;
603   -
604   - if (!fn_r->relocated) {
605   -
606   - if (memcmp (fn_r, fn,
607   - sizeof (Xilinx_Spartan3_Slave_Serial_fns))
608   - == 0) {
609   - /* good copy of the table, fix the descriptor pointer */
610   - desc->iface_fns = fn_r;
611   - } else {
612   - PRINTF ("%s: Invalid function table at 0x%p\n",
613   - __FUNCTION__, fn_r);
614   - return FPGA_FAIL;
615   - }
616   -
617   - PRINTF ("%s: Relocating descriptor at 0x%p\n", __FUNCTION__,
618   - desc);
619   -
620   - if (fn->pre) {
621   - addr = (ulong) (fn->pre) + reloc_offset;
622   - fn_r->pre = (Xilinx_pre_fn) addr;
623   - }
624   -
625   - addr = (ulong) (fn->pgm) + reloc_offset;
626   - fn_r->pgm = (Xilinx_pgm_fn) addr;
627   -
628   - addr = (ulong) (fn->init) + reloc_offset;
629   - fn_r->init = (Xilinx_init_fn) addr;
630   -
631   - addr = (ulong) (fn->done) + reloc_offset;
632   - fn_r->done = (Xilinx_done_fn) addr;
633   -
634   - addr = (ulong) (fn->clk) + reloc_offset;
635   - fn_r->clk = (Xilinx_clk_fn) addr;
636   -
637   - addr = (ulong) (fn->wr) + reloc_offset;
638   - fn_r->wr = (Xilinx_wr_fn) addr;
639   -
640   - if (fn->post) {
641   - addr = (ulong) (fn->post) + reloc_offset;
642   - fn_r->post = (Xilinx_post_fn) addr;
643   - }
644   -
645   - fn_r->relocated = TRUE;
646   -
647   - } else {
648   - /* this table has already been moved */
649   - /* XXX - should check to see if the descriptor is correct */
650   - desc->iface_fns = fn_r;
651   - }
652   -
653   - ret_val = FPGA_SUCCESS;
654   - } else {
655   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
656   - }
657   -
658   - return ret_val;
659   -
660 475 }
drivers/fpga/stratixII.c
... ... @@ -77,30 +77,6 @@
77 77 return FPGA_SUCCESS;
78 78 }
79 79  
80   -int StratixII_reloc (Altera_desc * desc, ulong reloc_offset)
81   -{
82   - int i;
83   - uint32_t dest = (uint32_t) desc & 0xff000000;
84   -
85   - /* we assume a relocated code and non relocated code has different upper 8 bits */
86   - if (dest != ((uint32_t) desc->iface_fns & 0xff000000)) {
87   - desc->iface_fns =
88   - (void *)((uint32_t) (desc->iface_fns) + reloc_offset);
89   - }
90   - for (i = 0; i < sizeof (altera_board_specific_func) / sizeof (void *);
91   - i++) {
92   - if (dest !=
93   - ((uint32_t) (((void **)(desc->iface_fns))[i]) & 0xff000000))
94   - {
95   - ((void **)(desc->iface_fns))[i] =
96   - (void
97   - *)(((uint32_t) (((void **)(desc->iface_fns))[i])) +
98   - reloc_offset);
99   - }
100   - }
101   - return FPGA_SUCCESS;
102   -}
103   -
104 80 int StratixII_ps_fpp_dump (Altera_desc * desc, void *buf, size_t bsize)
105 81 {
106 82 printf ("Stratix II Fast Passive Parallel dump is not implemented\n");
drivers/fpga/virtex2.c
... ... @@ -103,11 +103,9 @@
103 103  
104 104 static int Virtex2_ssm_load (Xilinx_desc * desc, void *buf, size_t bsize);
105 105 static int Virtex2_ssm_dump (Xilinx_desc * desc, void *buf, size_t bsize);
106   -static int Virtex2_ssm_reloc (Xilinx_desc * desc, ulong reloc_offset);
107 106  
108 107 static int Virtex2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize);
109 108 static int Virtex2_ss_dump (Xilinx_desc * desc, void *buf, size_t bsize);
110   -static int Virtex2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset);
111 109  
112 110 int Virtex2_load (Xilinx_desc * desc, void *buf, size_t bsize)
113 111 {
... ... @@ -158,31 +156,6 @@
158 156 return FPGA_SUCCESS;
159 157 }
160 158  
161   -int Virtex2_reloc (Xilinx_desc * desc, ulong reloc_offset)
162   -{
163   - int ret_val = FPGA_FAIL;
164   -
165   - if (desc->family != Xilinx_Virtex2) {
166   - printf ("%s: Unsupported family type, %d\n",
167   - __FUNCTION__, desc->family);
168   - return FPGA_FAIL;
169   - } else
170   - switch (desc->iface) {
171   - case slave_serial:
172   - ret_val = Virtex2_ss_reloc (desc, reloc_offset);
173   - break;
174   -
175   - case slave_selectmap:
176   - ret_val = Virtex2_ssm_reloc (desc, reloc_offset);
177   - break;
178   -
179   - default:
180   - printf ("%s: Unsupported interface type, %d\n",
181   - __FUNCTION__, desc->iface);
182   - }
183   - return ret_val;
184   -}
185   -
186 159 /*
187 160 * Virtex-II Slave SelectMap configuration loader. Configuration via
188 161 * SelectMap is as follows:
... ... @@ -448,81 +421,6 @@
448 421 return ret_val;
449 422 }
450 423  
451   -/*
452   - * Relocate the addresses in the function table from FLASH (or ROM,
453   - * or whatever) to RAM.
454   - */
455   -static int Virtex2_ssm_reloc (Xilinx_desc * desc, ulong reloc_offset)
456   -{
457   - ulong addr;
458   - int ret_val = FPGA_FAIL;
459   - Xilinx_Virtex2_Slave_SelectMap_fns *fn_r, *fn =
460   - (Xilinx_Virtex2_Slave_SelectMap_fns *) (desc->iface_fns);
461   -
462   - if (fn) {
463   - /*
464   - * Get the relocated table address
465   - */
466   - addr = (ulong) fn + reloc_offset;
467   - fn_r = (Xilinx_Virtex2_Slave_SelectMap_fns *) addr;
468   -
469   - /*
470   - * Check to see if the table has already been relocated. If not, do
471   - * a sanity check to make sure there is a faithful copy of the
472   - * FLASH based function table in RAM, then adjust the table.
473   - */
474   - if (!fn_r->relocated) {
475   - if (memcmp
476   - (fn_r, fn, sizeof (Xilinx_Virtex2_Slave_SelectMap_fns))
477   - == 0) {
478   - desc->iface_fns = fn_r;
479   - } else {
480   - PRINTF ("%s:%d: Invalid function table at 0x%p\n",
481   - __FUNCTION__, __LINE__, fn_r);
482   - return FPGA_FAIL;
483   - }
484   -
485   - PRINTF ("%s:%d: Relocating descriptor at 0x%p\n",
486   - __FUNCTION__, __LINE__, desc);
487   -
488   - addr = (ulong) (fn->pre) + reloc_offset;
489   - fn_r->pre = (Xilinx_pre_fn) addr;
490   - addr = (ulong) (fn->pgm) + reloc_offset;
491   - fn_r->pgm = (Xilinx_pgm_fn) addr;
492   - addr = (ulong) (fn->init) + reloc_offset;
493   - fn_r->init = (Xilinx_init_fn) addr;
494   - addr = (ulong) (fn->done) + reloc_offset;
495   - fn_r->done = (Xilinx_done_fn) addr;
496   - addr = (ulong) (fn->err) + reloc_offset;
497   - fn_r->err = (Xilinx_err_fn) addr;
498   - addr = (ulong) (fn->clk) + reloc_offset;
499   - fn_r->clk = (Xilinx_clk_fn) addr;
500   - addr = (ulong) (fn->cs) + reloc_offset;
501   - fn_r->cs = (Xilinx_cs_fn) addr;
502   - addr = (ulong) (fn->wr) + reloc_offset;
503   - fn_r->wr = (Xilinx_wr_fn) addr;
504   - addr = (ulong) (fn->rdata) + reloc_offset;
505   - fn_r->rdata = (Xilinx_rdata_fn) addr;
506   - addr = (ulong) (fn->wdata) + reloc_offset;
507   - fn_r->wdata = (Xilinx_wdata_fn) addr;
508   - addr = (ulong) (fn->busy) + reloc_offset;
509   - fn_r->busy = (Xilinx_busy_fn) addr;
510   - addr = (ulong) (fn->abort) + reloc_offset;
511   - fn_r->abort = (Xilinx_abort_fn) addr;
512   - addr = (ulong) (fn->post) + reloc_offset;
513   - fn_r->post = (Xilinx_post_fn) addr;
514   - fn_r->relocated = TRUE;
515   - } else {
516   - printf ("%s:%d: Function table @0x%p has already been relocated\n", __FUNCTION__, __LINE__, fn_r);
517   - desc->iface_fns = fn_r;
518   - }
519   - ret_val = FPGA_SUCCESS;
520   - } else {
521   - printf ("%s: NULL Interface function table!\n", __FUNCTION__);
522   - }
523   - return ret_val;
524   -}
525   -
526 424 static int Virtex2_ss_load (Xilinx_desc * desc, void *buf, size_t bsize)
527 425 {
528 426 printf ("%s: Slave Serial Loading is unsupported\n", __FUNCTION__);
... ... @@ -533,22 +431,6 @@
533 431 {
534 432 printf ("%s: Slave Serial Dumping is unsupported\n", __FUNCTION__);
535 433 return FPGA_FAIL;
536   -}
537   -
538   -static int Virtex2_ss_reloc (Xilinx_desc * desc, ulong reloc_offset)
539   -{
540   - int ret_val = FPGA_FAIL;
541   - Xilinx_Virtex2_Slave_Serial_fns *fn =
542   - (Xilinx_Virtex2_Slave_Serial_fns *) (desc->iface_fns);
543   -
544   - if (fn) {
545   - printf ("%s:%d: Slave Serial Loading is unsupported\n",
546   - __FUNCTION__, __LINE__);
547   - } else {
548   - printf ("%s:%d: NULL Interface function table!\n",
549   - __FUNCTION__, __LINE__);
550   - }
551   - return ret_val;
552 434 }
553 435  
554 436 /* vim: set ts=4 tw=78: */
drivers/fpga/xilinx.c
... ... @@ -238,48 +238,6 @@
238 238 return ret_val;
239 239 }
240 240  
241   -int xilinx_reloc (Xilinx_desc * desc, ulong reloc_offset)
242   -{
243   - int ret_val = FPGA_FAIL; /* assume a failure */
244   -
245   - if (!xilinx_validate (desc, (char *)__FUNCTION__)) {
246   - printf ("%s: Invalid device descriptor\n", __FUNCTION__);
247   - } else
248   - switch (desc->family) {
249   - case Xilinx_Spartan2:
250   -#if defined(CONFIG_FPGA_SPARTAN2)
251   - ret_val = Spartan2_reloc (desc, reloc_offset);
252   -#else
253   - printf ("%s: No support for Spartan-II devices.\n",
254   - __FUNCTION__);
255   -#endif
256   - break;
257   - case Xilinx_Spartan3:
258   -#if defined(CONFIG_FPGA_SPARTAN3)
259   - ret_val = Spartan3_reloc (desc, reloc_offset);
260   -#else
261   - printf ("%s: No support for Spartan-III devices.\n",
262   - __FUNCTION__);
263   -#endif
264   - break;
265   - case Xilinx_Virtex2:
266   -#if defined(CONFIG_FPGA_VIRTEX2)
267   - ret_val = Virtex2_reloc (desc, reloc_offset);
268   -#else
269   - printf ("%s: No support for Virtex-II devices.\n",
270   - __FUNCTION__);
271   -#endif
272   - break;
273   - /* Add new family types here */
274   - default:
275   - printf ("%s: Unsupported family type, %d\n",
276   - __FUNCTION__, desc->family);
277   - }
278   -
279   - return ret_val;
280   -}
281   -
282   -
283 241 /* ------------------------------------------------------------------------- */
284 242  
285 243 static int xilinx_validate (Xilinx_desc * desc, char *fn)
... ... @@ -33,12 +33,10 @@
33 33 extern int ACEX1K_load( Altera_desc *desc, void *image, size_t size );
34 34 extern int ACEX1K_dump( Altera_desc *desc, void *buf, size_t bsize );
35 35 extern int ACEX1K_info( Altera_desc *desc );
36   -extern int ACEX1K_reloc( Altera_desc *desc, ulong reloc_off );
37 36  
38 37 extern int CYC2_load( Altera_desc *desc, void *image, size_t size );
39 38 extern int CYC2_dump( Altera_desc *desc, void *buf, size_t bsize );
40 39 extern int CYC2_info( Altera_desc *desc );
41   -extern int CYC2_reloc( Altera_desc *desc, ulong reloc_off );
42 40  
43 41 /* Slave Serial Implementation function table */
44 42 typedef struct {
... ... @@ -50,7 +48,6 @@
50 48 Altera_data_fn data;
51 49 Altera_abort_fn abort;
52 50 Altera_post_fn post;
53   - int relocated;
54 51 } Altera_ACEX1K_Passive_Serial_fns;
55 52  
56 53 /* Slave Serial Implementation function table */
... ... @@ -62,7 +59,6 @@
62 59 Altera_write_fn write;
63 60 Altera_abort_fn abort;
64 61 Altera_post_fn post;
65   - int relocated;
66 62 } Altera_CYC2_Passive_Serial_fns;
67 63  
68 64 /* Device Image Sizes
... ... @@ -79,7 +79,6 @@
79 79 extern int altera_load( Altera_desc *desc, void *image, size_t size );
80 80 extern int altera_dump( Altera_desc *desc, void *buf, size_t bsize );
81 81 extern int altera_info( Altera_desc *desc );
82   -extern int altera_reloc( Altera_desc *desc, ulong reloc_offset );
83 82  
84 83 /* Board specific implementation specific function types
85 84 *********************************************************************/
... ... @@ -71,7 +71,7 @@
71 71  
72 72  
73 73 /* root function definitions */
74   -extern void fpga_init( ulong reloc_off );
  74 +extern void fpga_init( void );
75 75 extern int fpga_add( fpga_type devtype, void *desc );
76 76 extern int fpga_count( void );
77 77 extern int fpga_load( int devnum, void *buf, size_t bsize );
... ... @@ -30,7 +30,6 @@
30 30 extern int Spartan2_load( Xilinx_desc *desc, void *image, size_t size );
31 31 extern int Spartan2_dump( Xilinx_desc *desc, void *buf, size_t bsize );
32 32 extern int Spartan2_info( Xilinx_desc *desc );
33   -extern int Spartan2_reloc( Xilinx_desc *desc, ulong reloc_off );
34 33  
35 34 /* Slave Parallel Implementation function table */
36 35 typedef struct {
... ... @@ -47,7 +46,6 @@
47 46 Xilinx_busy_fn busy;
48 47 Xilinx_abort_fn abort;
49 48 Xilinx_post_fn post;
50   - int relocated;
51 49 } Xilinx_Spartan2_Slave_Parallel_fns;
52 50  
53 51 /* Slave Serial Implementation function table */
... ... @@ -59,7 +57,6 @@
59 57 Xilinx_done_fn done;
60 58 Xilinx_wr_fn wr;
61 59 Xilinx_post_fn post;
62   - int relocated;
63 60 } Xilinx_Spartan2_Slave_Serial_fns;
64 61  
65 62 /* Device Image Sizes
... ... @@ -30,7 +30,6 @@
30 30 extern int Spartan3_load( Xilinx_desc *desc, void *image, size_t size );
31 31 extern int Spartan3_dump( Xilinx_desc *desc, void *buf, size_t bsize );
32 32 extern int Spartan3_info( Xilinx_desc *desc );
33   -extern int Spartan3_reloc( Xilinx_desc *desc, ulong reloc_off );
34 33  
35 34 /* Slave Parallel Implementation function table */
36 35 typedef struct {
... ... @@ -47,7 +46,6 @@
47 46 Xilinx_busy_fn busy;
48 47 Xilinx_abort_fn abort;
49 48 Xilinx_post_fn post;
50   - int relocated;
51 49 } Xilinx_Spartan3_Slave_Parallel_fns;
52 50  
53 51 /* Slave Serial Implementation function table */
... ... @@ -59,7 +57,6 @@
59 57 Xilinx_done_fn done;
60 58 Xilinx_wr_fn wr;
61 59 Xilinx_post_fn post;
62   - int relocated;
63 60 } Xilinx_Spartan3_Slave_Serial_fns;
64 61  
65 62 /* Device Image Sizes
... ... @@ -27,7 +27,6 @@
27 27 extern int StratixII_load (Altera_desc * desc, void *image, size_t size);
28 28 extern int StratixII_dump (Altera_desc * desc, void *buf, size_t bsize);
29 29 extern int StratixII_info (Altera_desc * desc);
30   -extern int StratixII_reloc (Altera_desc * desc, ulong reloc_off);
31 30  
32 31 #endif /* _STRATIXII_H_ */
... ... @@ -31,7 +31,6 @@
31 31 extern int Virtex2_load( Xilinx_desc *desc, void *image, size_t size );
32 32 extern int Virtex2_dump( Xilinx_desc *desc, void *buf, size_t bsize );
33 33 extern int Virtex2_info( Xilinx_desc *desc );
34   -extern int Virtex2_reloc( Xilinx_desc *desc, ulong reloc_off );
35 34  
36 35 /*
37 36 * Slave SelectMap Implementation function table.
... ... @@ -50,7 +49,6 @@
50 49 Xilinx_busy_fn busy;
51 50 Xilinx_abort_fn abort;
52 51 Xilinx_post_fn post;
53   - int relocated;
54 52 } Xilinx_Virtex2_Slave_SelectMap_fns;
55 53  
56 54 /* Slave Serial Implementation function table */
... ... @@ -59,7 +57,6 @@
59 57 Xilinx_clk_fn clk;
60 58 Xilinx_rdata_fn rdata;
61 59 Xilinx_wdata_fn wdata;
62   - int relocated;
63 60 } Xilinx_Virtex2_Slave_Serial_fns;
64 61  
65 62 /* Device Image Sizes (in bytes)
... ... @@ -84,7 +84,6 @@
84 84 extern int xilinx_load( Xilinx_desc *desc, void *image, size_t size );
85 85 extern int xilinx_dump( Xilinx_desc *desc, void *buf, size_t bsize );
86 86 extern int xilinx_info( Xilinx_desc *desc );
87   -extern int xilinx_reloc( Xilinx_desc *desc, ulong reloc_offset );
88 87  
89 88 /* Board specific implementation specific function types
90 89 *********************************************************************/