Lines Matching +full:string +full:- +full:array +full:- +full:property
22 * -----------
27 * 2) device realization via the #DeviceState.realized property
31 * information to the caller and must be re-entrant.
36 * As an interim step, the #DeviceState.realized property can also be
57 * ---------------
62 * DeviceListener can save the QOpts passed to it for re-using it
73 DEV_NVECTORS_UNSPECIFIED = -1,
101 * struct DeviceClass - The base class for all devices.
104 * property is changed to %true.
106 * property is changed to %false.
107 * @sync_config: Callback function invoked when QMP command device-sync-config
111 * as readonly "hotpluggable" property of #DeviceState instance
136 * ensures a compile-time error if someone attempts to assign
137 * dc->props directly.
139 const Property *props_;
148 * @user_creatable: Can user instantiate with -device / device_add?
168 * implement a multi-phase reset.
221 * struct DeviceState - common device state, accessed with qdev helpers
299 * Used to prevent re-entrancy confusing things.
344 * human-readable error message.
364 #define QDEV_HOTPLUG_HANDLER_PROPERTY "hotplug-handler"
408 * typedef GlobalProperty - a global property type
410 * @used: Set to true if property was used when initializing a device.
412 * if the property doesn't exist.
414 * An error is fatal for non-hotplugged devices, when the global is applied.
418 const char *property; member
461 * qdev_is_realized() - check if device is realized
469 return qatomic_load_acquire(&dev->realized); in qdev_is_realized()
512 * via the child<> property, and so the reference-count-drop done here
526 * - unrealize any child buses by calling qbus_unrealize()
528 * - call the unrealize method of @dev
534 * devices which are hot-unpluggable should be unrealized (as part of
547 * qdev_get_hotplug_handler() - Get handler responsible for device wiring
593 * typedef GpioPolarity - Polarity of a GPIO line
595 * GPIO lines use either positive (active-high) logic,
596 * or negative (active-low) logic.
598 * In active-high logic (%GPIO_POLARITY_ACTIVE_HIGH), a pin is
600 * whereas in active-low logic (%GPIO_POLARITY_ACTIVE_LOW), a pin
633 * @name: Name of the input GPIO array
634 * @n: Number of the GPIO line in that array (which must be in range)
637 * in a named array of input GPIO lines on a device (which the device
639 * The @name string must correspond to an input GPIO array which exists on
642 * array); this function will assert() if passed an invalid name or index.
671 * Instead, for fan-out you can use the TYPE_SPLIT_IRQ device: connect
673 * of the splitter's outputs to a different device. For fan-in you
685 * @name: Name of the output GPIO array
686 * @n: Number of the output GPIO line within that array (which must be in range)
689 * This function connects a single GPIO output in a named array of output
692 * The @name string must correspond to an output GPIO array which exists on
695 * array); this function will assert() if passed an invalid name or index.
713 * @name: Name of the output GPIO array
714 * @n: Number of the output GPIO line within that array
719 * returned does not belong to @dev -- it will be the input GPIO or
723 * You probably don't need to use this function -- it is used only
724 * by the platform-bus subsystem.
726 * Return: qemu_irq associated with GPIO or NULL if un-wired.
734 * @name: Name of the output GPIO array
735 * @n: Number of the GPIO line in the array
739 * and is not suitable for use in non-testing parts of QEMU.
757 * qdev_init_gpio_in: create an array of anonymous input GPIO lines
776 * qdev_init_gpio_out: create an array of anonymous output GPIO lines
778 * @pins: Pointer to qemu_irq or qemu_irq array for the GPIO lines
789 * (if @n == 1) or a "qemu_irq []" array (if @n > 1) in the device's
798 * There is no need to release the @pins allocated array because it
805 * qdev_init_gpio_out_named: create an array of named output GPIO lines
807 * @pins: Pointer to qemu_irq or qemu_irq array for the GPIO lines
808 * @name: Name to give this array of GPIO lines
809 * @n: Number of GPIO lines to create in this array
811 * Like qdev_init_gpio_out(), but creates an array of GPIO output lines
819 * qdev_init_gpio_in_named_with_opaque() - create an array of input GPIO lines
832 * qdev_init_gpio_in_named() - create an array of input GPIO lines
833 * @dev: device to add array to
852 * @name: Name of GPIO array to pass through (NULL for the anonymous GPIO array)
858 * array of one of its internal devices.
861 * be passed through. It is not possible to pass a subset of the array
864 * To users of the container device, the GPIO array created on @container
899 * device_cold_reset() - perform a recursive cold reset on a device
908 * bus_cold_reset() - perform a recursive cold reset on a bus
917 * device_is_in_reset() - check device reset state
925 * bus_is_in_reset() - check bus reset state
941 * @props: an array of properties
944 * you attempt to add an existing property defined by a parent class.
945 * To modify an inherited property you need to use????
947 * Validate that @props has at least one Property.
948 * Validate that @props is an array, not a pointer, via ARRAY_SIZE.
949 * Validate that the array does not have a legacy terminator at compile-time;
950 * requires -O2 and the array to be const.
956 if ((props)[props_count_ - 1].name == NULL) { \
965 * @props: an array of properties
969 * you attempt to add an existing property defined by a parent class.
970 * To modify an inherited property you need to use????
972 void device_class_set_props_n(DeviceClass *dc, const Property *props, size_t n);
975 * device_class_set_parent_realize() - set up for chaining realize fns
984 * dc->parent_realize(dev, errp)
1005 * device_class_set_parent_unrealize() - set up for chaining unrealize fns
1014 * dc->parent_unrealize(dev);
1048 * qdev_get_human_name() - Return a human-readable name for a device
1049 * @dev: The device. Must be a valid and non-NULL pointer.
1054 * Returns: A newly allocated string containing the device id if not null,
1073 HotplugHandler *plug_handler = bus->hotplug_handler; in qbus_is_hotpluggable()
1080 if (hdc->is_hotpluggable_bus) { in qbus_is_hotpluggable()
1081 ret = hdc->is_hotpluggable_bus(plug_handler, bus); in qbus_is_hotpluggable()
1100 * can use this function to mark the internal-only buses as full
1102 * created devices will appear on the expansion-port bus where
1107 bus->full = true; in qbus_mark_full()
1114 * qdev_should_hide_device() - check if device should be hidden
1130 /* current_machine is not NULL, but current_machine->accel is NULL. */
1134 * current_machine->accel is not NULL, but the machine properties have
1135 * not been validated and machine_class->init has not yet been called.
1145 * machine_class->init has been called, thus creating any embedded
1147 * this time are considered to be cold-plugged.
1153 * are considered to be hot-plugged. The monitor is not restricted