qemu

FORK: QEMU emulator
git clone https://git.neptards.moe/neptards/qemu.git
Log | Files | Refs | Submodules | LICENSE

fw-path-provider.c (1681B)


      1 /*
      2  *  Firmware path provider class and helpers.
      3  *
      4  *  This program is free software; you can redistribute it and/or modify
      5  *  it under the terms of the GNU General Public License as published by
      6  *  the Free Software Foundation; either version 2 of the License,
      7  *  or (at your option) any later version.
      8  *
      9  *  This program is distributed in the hope that it will be useful,
     10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     12  *  GNU General Public License for more details.
     13  *
     14  *  You should have received a copy of the GNU General Public License
     15  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
     16  */
     17 
     18 #include "qemu/osdep.h"
     19 #include "hw/fw-path-provider.h"
     20 #include "qemu/module.h"
     21 
     22 char *fw_path_provider_get_dev_path(FWPathProvider *p, BusState *bus,
     23                                     DeviceState *dev)
     24 {
     25     FWPathProviderClass *k = FW_PATH_PROVIDER_GET_CLASS(p);
     26 
     27     return k->get_dev_path(p, bus, dev);
     28 }
     29 
     30 char *fw_path_provider_try_get_dev_path(Object *o, BusState *bus,
     31                                         DeviceState *dev)
     32 {
     33     FWPathProvider *p = (FWPathProvider *)
     34         object_dynamic_cast(o, TYPE_FW_PATH_PROVIDER);
     35 
     36     if (p) {
     37         return fw_path_provider_get_dev_path(p, bus, dev);
     38     }
     39 
     40     return NULL;
     41 }
     42 
     43 static const TypeInfo fw_path_provider_info = {
     44     .name          = TYPE_FW_PATH_PROVIDER,
     45     .parent        = TYPE_INTERFACE,
     46     .class_size    = sizeof(FWPathProviderClass),
     47 };
     48 
     49 static void fw_path_provider_register_types(void)
     50 {
     51     type_register_static(&fw_path_provider_info);
     52 }
     53 
     54 type_init(fw_path_provider_register_types)