dm: core: Add a function to get a device's uclass ID
This is useful to check which uclass a device is in. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
This commit is contained in:
		
							parent
							
								
									0118ce7957
								
							
						
					
					
						commit
						b367053102
					
				| 
						 | 
					@ -438,3 +438,8 @@ ulong dev_get_of_data(struct udevice *dev)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return dev->of_id->data;
 | 
						return dev->of_id->data;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum uclass_id device_get_uclass_id(struct udevice *dev)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return dev->uclass->uc_drv->id;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -245,6 +245,14 @@ struct udevice *dev_get_parent(struct udevice *child);
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
ulong dev_get_of_data(struct udevice *dev);
 | 
					ulong dev_get_of_data(struct udevice *dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * device_get_uclass_id() - return the uclass ID of a device
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * @dev:	Device to check
 | 
				
			||||||
 | 
					 * @return uclass ID for the device
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					enum uclass_id device_get_uclass_id(struct udevice *dev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * device_get_child() - Get the child of a device by index
 | 
					 * device_get_child() - Get the child of a device by index
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -598,3 +598,14 @@ static int dm_test_uclass_before_ready(struct dm_test_state *dms)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DM_TEST(dm_test_uclass_before_ready, 0);
 | 
					DM_TEST(dm_test_uclass_before_ready, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int dm_test_device_get_uclass_id(struct dm_test_state *dms)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						struct udevice *dev;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ut_assertok(uclass_get_device(UCLASS_TEST, 0, &dev));
 | 
				
			||||||
 | 
						ut_asserteq(UCLASS_TEST, device_get_uclass_id(dev));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					DM_TEST(dm_test_device_get_uclass_id, DM_TESTF_SCAN_PDATA);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue