*参照元 [#s8b7add6] #backlinks *説明 [#le8538f6] -パス: [[linux-4.4.1/drivers/base/platform.c]] -FIXME: これは何? --説明 **引数 [#h67352f9] -const char *name -- -int id -- **返り値 [#s6bc7163] -struct platform_device * -- --[[linux-4.4.1/platform_device]] **参考 [#hf477f4b] *実装 [#c44af44f] /** * platform_device_alloc - create a platform device * @name: base name of the device we're adding * @id: instance id * * Create a platform device object which can have other objects attached * to it, and which will have attached objects freed when it is released. */ struct platform_device *platform_device_alloc(const char *name, int id) { struct platform_object *pa; - --[[linux-4.4.1/platform_object]] pa = kzalloc(sizeof(*pa) + strlen(name) + 1, GFP_KERNEL); - --[[linux-4.4.1/kzalloc()]] --[[linux-4.4.1/strlen()]] if (pa) { strcpy(pa->name, name); pa->pdev.name = pa->name; pa->pdev.id = id; device_initialize(&pa->pdev.dev); pa->pdev.dev.release = platform_device_release; arch_setup_pdev_archdata(&pa->pdev); } - --[[linux-4.4.1/strcpy()]] --[[linux-4.4.1/device_initialize()]] --[[linux-4.4.1/arch_setup_pdev_archdata()]] return pa ? &pa->pdev : NULL; } EXPORT_SYMBOL_GPL(platform_device_alloc); - --[[linux-4.4.1/EXPORT_SYMBOL_GPL()]] *コメント [#f61333bb]