1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 239f7611fSSimon Glass /* 339f7611fSSimon Glass * Copyright (c) 2013 Google, Inc 439f7611fSSimon Glass */ 539f7611fSSimon Glass 639f7611fSSimon Glass #ifndef __DM_DEMO_H 739f7611fSSimon Glass #define __DM_DEMO_H 839f7611fSSimon Glass 939f7611fSSimon Glass #include <dm.h> 1039f7611fSSimon Glass 1139f7611fSSimon Glass /** 1239f7611fSSimon Glass * struct dm_demo_pdata - configuration data for demo instance 1339f7611fSSimon Glass * 1439f7611fSSimon Glass * @colour: Color of the demo 1539f7611fSSimon Glass * @sides: Numbers of sides 1639f7611fSSimon Glass * @default_char: Default ASCII character to output (65 = 'A') 1739f7611fSSimon Glass */ 1839f7611fSSimon Glass struct dm_demo_pdata { 1939f7611fSSimon Glass const char *colour; 2039f7611fSSimon Glass int sides; 2139f7611fSSimon Glass int default_char; 2239f7611fSSimon Glass }; 2339f7611fSSimon Glass 2439f7611fSSimon Glass struct demo_ops { 2554c5d08aSHeiko Schocher int (*hello)(struct udevice *dev, int ch); 2654c5d08aSHeiko Schocher int (*status)(struct udevice *dev, int *status); 27a02af4aeSSimon Glass int (*set_light)(struct udevice *dev, int light); 28a02af4aeSSimon Glass int (*get_light)(struct udevice *dev); 2939f7611fSSimon Glass }; 3039f7611fSSimon Glass 3154c5d08aSHeiko Schocher int demo_hello(struct udevice *dev, int ch); 3254c5d08aSHeiko Schocher int demo_status(struct udevice *dev, int *status); 33a02af4aeSSimon Glass int demo_set_light(struct udevice *dev, int light); 34a02af4aeSSimon Glass int demo_get_light(struct udevice *dev); 3539f7611fSSimon Glass int demo_list(void); 3639f7611fSSimon Glass 3754c5d08aSHeiko Schocher int demo_parse_dt(struct udevice *dev); 3839f7611fSSimon Glass 3939f7611fSSimon Glass #endif 40