gflt200: created board platform device.
Also created a link, "board", to the platform device to support board-agnostic
interfaces.
Change-Id: I997b2d6383b2f48739ba27780457de5a0f4d5dfe
diff --git a/arch/arm/mach-feroceon-kw2/board-gflt200.c b/arch/arm/mach-feroceon-kw2/board-gflt200.c
index de7a212..76d1708 100644
--- a/arch/arm/mach-feroceon-kw2/board-gflt200.c
+++ b/arch/arm/mach-feroceon-kw2/board-gflt200.c
@@ -1,7 +1,30 @@
+#include <linux/err.h>
#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/platform_device.h>
+#include <linux/sysfs.h>
+
+#define BOARD_NAME "gflt200"
int __init board_init(void)
{
+ int rc;
+ struct platform_device *pdev;
+
+ /* /sys/devices/platform/<board_name> */
+ pdev = platform_device_register_simple(BOARD_NAME, -1, NULL, 0);
+ if (IS_ERR(pdev)) {
+ rc = PTR_ERR(pdev);
+ pr_err(BOARD_NAME ": error %d registering device\n", rc);
+ return rc;
+ }
+
+ /* /sys/devices/platform/board -> /sys/devices/platform/<board_name> */
+ rc = sysfs_create_link(&pdev->dev.parent->kobj, &pdev->dev.kobj,
+ "board");
+ if (rc)
+ pr_err(BOARD_NAME ": error %d creating link 'board'\n", rc);
+
return 0;
}