drivers/fsi: Add empty fsi bus definitions

This change adds the initial (empty) fsi bus definition, and introduces
drivers/fsi/.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Chris Bostic <cbostic@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jeremy Kerr 2017-02-01 10:53:41 -06:00 committed by Greg Kroah-Hartman
parent 17fa87fe5a
commit 0508ad1fff
6 changed files with 77 additions and 0 deletions

View File

@ -202,4 +202,6 @@ source "drivers/hwtracing/intel_th/Kconfig"
source "drivers/fpga/Kconfig"
source "drivers/fsi/Kconfig"
endmenu

View File

@ -173,3 +173,4 @@ obj-$(CONFIG_STM) += hwtracing/stm/
obj-$(CONFIG_ANDROID) += android/
obj-$(CONFIG_NVMEM) += nvmem/
obj-$(CONFIG_FPGA) += fpga/
obj-$(CONFIG_FSI) += fsi/

12
drivers/fsi/Kconfig Normal file
View File

@ -0,0 +1,12 @@
#
# FSI subsystem
#
menu "FSI support"
config FSI
tristate "FSI support"
---help---
FSI - the FRU Support Interface - is a simple bus for low-level
access to POWER-based hardware.
endmenu

2
drivers/fsi/Makefile Normal file
View File

@ -0,0 +1,2 @@
obj-$(CONFIG_FSI) += fsi-core.o

38
drivers/fsi/fsi-core.c Normal file
View File

@ -0,0 +1,38 @@
/*
* FSI core driver
*
* Copyright (C) IBM Corporation 2016
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <linux/device.h>
#include <linux/fsi.h>
#include <linux/module.h>
/* FSI core & Linux bus type definitions */
struct bus_type fsi_bus_type = {
.name = "fsi",
};
EXPORT_SYMBOL_GPL(fsi_bus_type);
static int fsi_init(void)
{
return bus_register(&fsi_bus_type);
}
static void fsi_exit(void)
{
bus_unregister(&fsi_bus_type);
}
module_init(fsi_init);
module_exit(fsi_exit);

22
include/linux/fsi.h Normal file
View File

@ -0,0 +1,22 @@
/* FSI device & driver interfaces
*
* Copyright (C) IBM Corporation 2016
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef LINUX_FSI_H
#define LINUX_FSI_H
#include <linux/device.h>
extern struct bus_type fsi_bus_type;
#endif /* LINUX_FSI_H */