 Philippe Mathieu-Daudé
		
	
	
		88d2198c08
		
	
	
	
	hw/sd: Declare QOM types using DEFINE_TYPES() macro
			Philippe Mathieu-Daudé
		
	
	
		88d2198c08
		
	
	
	
	hw/sd: Declare QOM types using DEFINE_TYPES() macro
		
			
			When multiple QOM types are registered in the same file,
it is simpler to use the the DEFINE_TYPES() macro. In
particular because type array declared with such macro
are easier to review.
Mechanical transformation using the following comby script:
  [pattern-x1]
  match='''
  static const TypeInfo :[i1~.*_info] = {
      :[body]
  };
  static void :[rt1~.*_register_type.](void)
  {
      type_register_static(&:[i2~.*_info]);
  }
  type_init(:[rt2~.*_register_type.])
  '''
  rewrite='''
  static const TypeInfo :[i1][] = {
      {
      :[body]
      },
  };
  DEFINE_TYPES(:[i1])
  '''
  rule='where :[i1] == :[i2], :[rt1] == :[rt2]'
  [pattern-x2]
  match='''
  static const TypeInfo :[i1a~.*_info] = {
      :[body1]
  };
  ...
  static const TypeInfo :[i2a~.*_info] = {
      :[body2]
  };
  static void :[rt1~.*_register_type.](void)
  {
      type_register_static(&:[i1b~.*_info]);
      type_register_static(&:[i2b~.*_info]);
  }
  type_init(:[rt2~.*_register_type.])
  '''
  rewrite='''
  static const TypeInfo :[i1a][] = {
      {
      :[body1]
      },
      {
      :[body2]
      },
  };
  DEFINE_TYPES(:[i1a])
  '''
  rule='''
  where
  :[i1a] == :[i1b],
  :[i2a] == :[i2b],
  :[rt1] == :[rt2]
  '''
and re-indented manually.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20231031080603.86889-2-philmd@linaro.org>
		
	
 
		2023-11-07 13:08:49 +01:00
	 
	
	
		 ..
	
	
	
		
			
			
			
			
			
			2023-06-19 11:24:21 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2020-09-09 15:54:18 -07:00
		 
	
		
			
			
			
			
			
			2023-06-20 10:01:30 +02:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-01-12 17:15:09 +00:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2022-12-21 14:17:55 -03:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2023-10-19 23:13:27 +02:00
		 
	
		
			
			
			
			
			
			2023-09-01 11:40:04 +02:00
		 
	
		
			
			
			
			
			
			2019-05-13 08:58:55 +02:00
		 
	
		
			
			
			
			
			
			2023-11-07 13:08:49 +01:00
		 
	
		
			
			
			
			
			
			2021-10-22 09:52:17 +02:00
		 
	
		
			
			
			
			
			
			2020-08-21 06:18:24 -04:00