当前位置: 首页>>代码示例>>C++>>正文


C++ bus_register函数代码示例

本文整理汇总了C++中bus_register函数的典型用法代码示例。如果您正苦于以下问题:C++ bus_register函数的具体用法?C++ bus_register怎么用?C++ bus_register使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了bus_register函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: xenbus_probe_init

static int __init xenbus_probe_init(void)
{
	int err = 0;

	DPRINTK("");

	err = -ENODEV;
	if (!xen_domain())
		goto out_error;

	/* Register ourselves with the kernel bus subsystem */
	err = bus_register(&xenbus_frontend.bus);
	if (err)
		goto out_error;

	err = xenbus_backend_bus_register();
	if (err)
		goto out_unreg_front;

	/*
	 * Domain0 doesn't have a store_evtchn or store_mfn yet.
	 */
	if (xen_initial_domain()) {
		/* dom0 not yet supported */
	} else {
		xenstored_ready = 1;
		xen_store_evtchn = xen_start_info->store_evtchn;
		xen_store_mfn = xen_start_info->store_mfn;
	}
	xen_store_interface = mfn_to_virt(xen_store_mfn);

	/* Initialize the interface to xenstore. */
	err = xs_init();
	if (err) {
		printk(KERN_WARNING
		       "XENBUS: Error initializing xenstore comms: %i\n", err);
		goto out_unreg_back;
	}

	if (!xen_initial_domain())
		xenbus_probe(NULL);

#ifdef CONFIG_XEN_COMPAT_XENFS
	/*
	 * Create xenfs mountpoint in /proc for compatibility with
	 * utilities that expect to find "xenbus" under "/proc/xen".
	 */
	proc_mkdir("xen", NULL);
#endif

	return 0;

  out_unreg_back:
	xenbus_backend_bus_unregister();

  out_unreg_front:
	bus_unregister(&xenbus_frontend.bus);

  out_error:
	return err;
}
开发者ID:ARMWorks,项目名称:FA_2440_Linux_Kernel,代码行数:61,代码来源:xenbus_probe.c

示例2: ac97_bus_init

static int __init ac97_bus_init(void)
{
    return bus_register(&ac97_bus_type);
}
开发者ID:274914765,项目名称:C,代码行数:4,代码来源:ac97_bus.c

示例3: rio_bus_init

/**
 *  rio_bus_init - Register the RapidIO bus with the device model
 *
 *  Registers the RIO bus device and RIO bus type with the Linux
 *  device model.
 */
static int __init rio_bus_init(void)
{
	if (device_register(&rio_bus) < 0)
		printk("RIO: failed to register RIO bus device\n");
	return bus_register(&rio_bus_type);
}
开发者ID:LouZiffer,项目名称:m900_kernel_cupcake-SDX,代码行数:12,代码来源:rio-driver.c

示例4: main

int
main (int argc, char *argv[])
{

        gboolean              res;
        GError               *error;

        cinnamon_settings_profile_start (NULL);

        bindtextdomain (GETTEXT_PACKAGE, CINNAMON_SETTINGS_LOCALEDIR);
        bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
        textdomain (GETTEXT_PACKAGE);
        setlocale (LC_ALL, "");

        parse_args (&argc, &argv);

        g_type_init ();

        cinnamon_settings_profile_start ("opening gtk display");
        if (! gtk_init_check (NULL, NULL)) {
                g_warning ("Unable to initialize GTK+");
                exit (EXIT_FAILURE);
        }
        cinnamon_settings_profile_end ("opening gtk display");

        g_log_set_default_handler (csd_log_default_handler, NULL);

        notify_init ("cinnamon-settings-daemon");

        queue_register_client ();

        bus_register ();

        cinnamon_settings_profile_start ("cinnamon_settings_manager_new");
        manager = cinnamon_settings_manager_new ();
        cinnamon_settings_profile_end ("cinnamon_settings_manager_new");
        if (manager == NULL) {
                g_warning ("Unable to register object");
                goto out;
        }

        error = NULL;
        res = cinnamon_settings_manager_start (manager, &error);
        if (! res) {
                g_warning ("Unable to start: %s", error->message);
                g_error_free (error);
                goto out;
        }

        if (do_timed_exit) {
                g_timeout_add_seconds (30, (GSourceFunc) timed_exit_cb, NULL);
        }

        gtk_main ();

        g_debug ("Shutting down");

out:
        if (name_id > 0) {
                g_bus_unown_name (name_id);
                name_id = 0;
        }

        if (manager != NULL) {
                g_object_unref (manager);
        }

        g_debug ("SettingsDaemon finished");
        cinnamon_settings_profile_end (NULL);

        return 0;
}
开发者ID:gauravjuvekar,项目名称:cinnamon-settings-daemon,代码行数:72,代码来源:main.c

示例5: ntb_driver_init

static int __init ntb_driver_init(void)
{
	return bus_register(&ntb_bus);
}
开发者ID:grate-driver,项目名称:linux,代码行数:4,代码来源:ntb.c

示例6: dio_driver_init

static int __init dio_driver_init(void)
{
	return bus_register(&dio_bus_type);
}
开发者ID:10x-Amin,项目名称:x10_Th_kernel,代码行数:4,代码来源:dio-driver.c

示例7: bus_register

/* static MJR */ int /* __init MJR */ ac97_bus_init(void)
{
	return bus_register(&ac97_bus_type);
}
开发者ID:asimkadav,项目名称:fgft,代码行数:4,代码来源:ac97_bus.c

示例8: main

int
main (int argc, char *argv[])
{
        MateSettingsManager *manager;
        DBusGConnection      *bus;
        gboolean              res;
        GError               *error;

        manager = NULL;

        if (!g_thread_supported ()) {
                g_thread_init (NULL);
        }

        mate_settings_profile_start (NULL);

        bindtextdomain (GETTEXT_PACKAGE, MATE_SETTINGS_LOCALEDIR);
        bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
        textdomain (GETTEXT_PACKAGE);
        setlocale (LC_ALL, "");

        parse_args (&argc, &argv);

        daemon_start ();

        g_type_init ();

        mate_settings_profile_start ("opening gtk display");
        if (! gtk_init_check (NULL, NULL)) {
                g_warning ("Unable to initialize GTK+");
                daemon_terminate_parent ();
                exit (EXIT_FAILURE);
        }
        mate_settings_profile_end ("opening gtk display");

        daemon_detach ();

        g_log_set_default_handler (gsd_log_default_handler, NULL);

        bus = get_session_bus ();
        if (bus == NULL) {
                g_warning ("Could not get a connection to the bus");
                goto out;
        }

        if (! bus_register (bus)) {
                goto out;
        }

        mate_settings_profile_start ("mate_settings_manager_new");
        manager = mate_settings_manager_new ();
        mate_settings_profile_end ("mate_settings_manager_new");
        if (manager == NULL) {
                g_warning ("Unable to register object");
                goto out;
        }

        set_session_over_handler (bus, manager);

        /* If we aren't started by dbus then load the plugins
           automatically.  Otherwise, wait for an Awake etc. */
        if (g_getenv ("DBUS_STARTER_BUS_TYPE") == NULL) {
                error = NULL;
                if (mateconf_prefix != NULL) {
                        res = mate_settings_manager_start_with_settings_prefix (manager, mateconf_prefix, &error);
                } else {
                        res = mate_settings_manager_start (manager, &error);
                }
                if (! res) {
                        g_warning ("Unable to start: %s", error->message);
                        g_error_free (error);
                        goto out;
                }
        }

        daemon_terminate_parent ();

        if (do_timed_exit) {
                g_timeout_add (1000 * 30, (GSourceFunc) timed_exit_cb, NULL);
        }

        gtk_main ();

 out:
        g_free (mateconf_prefix);

        if (bus != NULL) {
                dbus_g_connection_unref (bus);
        }

        if (manager != NULL) {
                g_object_unref (manager);
        }

        g_debug ("SettingsDaemon finished");
        mate_settings_profile_end (NULL);

        return 0;
}
开发者ID:TheCoffeMaker,项目名称:Mate-Desktop-Environment,代码行数:99,代码来源:main.c

示例9: plarform_init

static int plarform_init(void)
{
	return bus_register(&platform_bus);
}
开发者ID:rjarzmik,项目名称:barebox,代码行数:4,代码来源:platform.c

示例10: mbus_init

static int __init mbus_init(void)
{
	return bus_register(&mic_bus);
}
开发者ID:AlexShiLucky,项目名称:linux,代码行数:4,代码来源:mic_bus.c

示例11: edac_create_sysfs_mci_device

/*
 * Create a new Memory Controller kobject instance,
 *	mc<id> under the 'mc' directory
 *
 * Return:
 *	0	Success
 *	!0	Failure
 */
int edac_create_sysfs_mci_device(struct mem_ctl_info *mci,
				 const struct attribute_group **groups)
{
	char *name;
	int i, err;

	/*
	 * The memory controller needs its own bus, in order to avoid
	 * namespace conflicts at /sys/bus/edac.
	 */
	name = kasprintf(GFP_KERNEL, "mc%d", mci->mc_idx);
	if (!name)
		return -ENOMEM;

	mci->bus->name = name;

	edac_dbg(0, "creating bus %s\n", mci->bus->name);

	err = bus_register(mci->bus);
	if (err < 0) {
		kfree(name);
		return err;
	}

	/* get the /sys/devices/system/edac subsys reference */
	mci->dev.type = &mci_attr_type;
	device_initialize(&mci->dev);

	mci->dev.parent = mci_pdev;
	mci->dev.bus = mci->bus;
	mci->dev.groups = groups;
	dev_set_name(&mci->dev, "mc%d", mci->mc_idx);
	dev_set_drvdata(&mci->dev, mci);
	pm_runtime_forbid(&mci->dev);

	edac_dbg(0, "creating device %s\n", dev_name(&mci->dev));
	err = device_add(&mci->dev);
	if (err < 0) {
		edac_dbg(1, "failure: create device %s\n", dev_name(&mci->dev));
		goto fail_unregister_bus;
	}

	/*
	 * Create the dimm/rank devices
	 */
	for (i = 0; i < mci->tot_dimms; i++) {
		struct dimm_info *dimm = mci->dimms[i];
		/* Only expose populated DIMMs */
		if (!dimm->nr_pages)
			continue;

#ifdef CONFIG_EDAC_DEBUG
		edac_dbg(1, "creating dimm%d, located at ", i);
		if (edac_debug_level >= 1) {
			int lay;
			for (lay = 0; lay < mci->n_layers; lay++)
				printk(KERN_CONT "%s %d ",
					edac_layer_name[mci->layers[lay].type],
					dimm->location[lay]);
			printk(KERN_CONT "\n");
		}
#endif
		err = edac_create_dimm_object(mci, dimm, i);
		if (err) {
			edac_dbg(1, "failure: create dimm %d obj\n", i);
			goto fail_unregister_dimm;
		}
	}

#ifdef CONFIG_EDAC_LEGACY_SYSFS
	err = edac_create_csrow_objects(mci);
	if (err < 0)
		goto fail_unregister_dimm;
#endif

	edac_create_debugfs_nodes(mci);
	return 0;

fail_unregister_dimm:
	for (i--; i >= 0; i--) {
		struct dimm_info *dimm = mci->dimms[i];
		if (!dimm->nr_pages)
			continue;

		device_unregister(&dimm->dev);
	}
	device_unregister(&mci->dev);
fail_unregister_bus:
	bus_unregister(mci->bus);
	kfree(name);

	return err;
//.........这里部分代码省略.........
开发者ID:forgivemyheart,项目名称:linux,代码行数:101,代码来源:edac_mc_sysfs.c

示例12: ulpi_init

static int __init ulpi_init(void)
{
	return bus_register(&ulpi_bus);
}
开发者ID:asmalldev,项目名称:linux,代码行数:4,代码来源:ulpi.c

示例13: mca_system_init

int __init mca_system_init (void)
{
	return bus_register(&mca_bus_type);
}
开发者ID:Medvedroid,项目名称:OT_903D-kernel-2.6.35.7,代码行数:4,代码来源:mca-bus.c

示例14: hsi_bus_init

int __init hsi_bus_init(void)
{
	return bus_register(&hsi_bus_type);
}
开发者ID:andy78328,项目名称:pmu-for-omap4,代码行数:4,代码来源:hsi_driver_bus.c

示例15: mdio_bus_init

static int mdio_bus_init(void)
{
	return bus_register(&mdio_bus_type);
}
开发者ID:Reggi3,项目名称:mini210s-barebox,代码行数:4,代码来源:mdio_bus.c


注:本文中的bus_register函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。