26
26
*/
27
27
#define FSL_MC_DEFAULT_DMA_MASK (~0ULL)
28
28
29
+ static struct fsl_mc_version mc_version ;
30
+
29
31
/**
30
32
* struct fsl_mc - Private data of a "fsl,qoriq-mc" platform device
31
33
* @root_mc_bus_dev: fsl-mc device representing the root DPRC
@@ -54,20 +56,6 @@ struct fsl_mc_addr_translation_range {
54
56
phys_addr_t start_phys_addr ;
55
57
};
56
58
57
- /**
58
- * struct mc_version
59
- * @major: Major version number: incremented on API compatibility changes
60
- * @minor: Minor version number: incremented on API additions (that are
61
- * backward compatible); reset when major version is incremented
62
- * @revision: Internal revision number: incremented on implementation changes
63
- * and/or bug fixes that have no impact on API
64
- */
65
- struct mc_version {
66
- u32 major ;
67
- u32 minor ;
68
- u32 revision ;
69
- };
70
-
71
59
/**
72
60
* fsl_mc_bus_match - device to driver matching callback
73
61
* @dev: the fsl-mc device to match against
@@ -338,7 +326,7 @@ EXPORT_SYMBOL_GPL(fsl_mc_driver_unregister);
338
326
*/
339
327
static int mc_get_version (struct fsl_mc_io * mc_io ,
340
328
u32 cmd_flags ,
341
- struct mc_version * mc_ver_info )
329
+ struct fsl_mc_version * mc_ver_info )
342
330
{
343
331
struct fsl_mc_command cmd = { 0 };
344
332
struct dpmng_rsp_get_version * rsp_params ;
@@ -363,6 +351,20 @@ static int mc_get_version(struct fsl_mc_io *mc_io,
363
351
return 0 ;
364
352
}
365
353
354
+ /**
355
+ * fsl_mc_get_version - function to retrieve the MC f/w version information
356
+ *
357
+ * Return: mc version when called after fsl-mc-bus probe; NULL otherwise.
358
+ */
359
+ struct fsl_mc_version * fsl_mc_get_version (void )
360
+ {
361
+ if (mc_version .major )
362
+ return & mc_version ;
363
+
364
+ return NULL ;
365
+ }
366
+ EXPORT_SYMBOL_GPL (fsl_mc_get_version );
367
+
366
368
/**
367
369
* fsl_mc_get_root_dprc - function to traverse to the root dprc
368
370
*/
@@ -862,7 +864,6 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
862
864
int container_id ;
863
865
phys_addr_t mc_portal_phys_addr ;
864
866
u32 mc_portal_size ;
865
- struct mc_version mc_version ;
866
867
struct resource res ;
867
868
868
869
mc = devm_kzalloc (& pdev -> dev , sizeof (* mc ), GFP_KERNEL );
0 commit comments