Re: [PATCH char-misc-next 04/13] misc: mic: SCIF Peer Bus
From: Greg Kroah-Hartman
Date: Fri Jan 09 2015 - 18:07:31 EST
On Wed, Dec 10, 2014 at 11:47:44AM -0800, Sudeep Dutt wrote:
> The SCIF peer bus is used to register and unregister SCIF peer devices
> internally by the SCIF driver to signify the addition and removal of
> peer nodes respectively from the SCIF network. This simplifies remote node
> handling within SCIF and will also be used to support device probe/remove
> for SCIF client drivers (e.g. netdev over SCIF)
>
> Reviewed-by: Nikhil Rao <nikhil.rao@xxxxxxxxx>
> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@xxxxxxxxx>
> Signed-off-by: Sudeep Dutt <sudeep.dutt@xxxxxxxxx>
> ---
> drivers/misc/mic/scif/scif_peer_bus.h | 63 +++++++++++++++++
> drivers/misc/mic/scif/scif_peer_bus.c | 124 ++++++++++++++++++++++++++++++++++
> 2 files changed, 187 insertions(+)
> create mode 100644 drivers/misc/mic/scif/scif_peer_bus.h
> create mode 100644 drivers/misc/mic/scif/scif_peer_bus.c
>
> diff --git a/drivers/misc/mic/scif/scif_peer_bus.h b/drivers/misc/mic/scif/scif_peer_bus.h
> new file mode 100644
> index 0000000..27ed508
> --- /dev/null
> +++ b/drivers/misc/mic/scif/scif_peer_bus.h
> @@ -0,0 +1,63 @@
> +/*
> + * Intel MIC Platform Software Stack (MPSS)
> + *
> + * Copyright(c) 2014 Intel Corporation.
> + *
> + * 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.
> + *
> + * Intel SCIF driver.
> + */
> +#ifndef _SCIF_PEER_BUS_H_
> +#define _SCIF_PEER_BUS_H_
> +
> +#include <linux/device.h>
> +#include <linux/mic_common.h>
> +
> +/*
> + * Peer devices show up as PCIe devices for the mgmt node but not the cards.
> + * The mgmt node discovers all the cards on the PCIe bus and informs the other
> + * cards about their peers. Upon notification of a peer a node adds a peer
> + * device to the peer bus to maintain symmetry in the way devices are
> + * discovered across all nodes in the SCIF network.
> + */
> +/**
> + * scif_peer_dev - representation of a peer SCIF device
> + * @dev: underlying device
> + * @dnode - The destination node which this device will communicate with.
> + */
> +struct scif_peer_dev {
> + struct device dev;
> + u8 dnode;
> +};
> +
> +/**
> + * scif_peer_driver - operations for a scif_peer I/O driver
> + * @driver: underlying device driver (populate name and owner).
> + * @id_table: the ids serviced by this driver.
> + * @probe: the function to call when a device is found. Returns 0 or -errno.
> + * @remove: the function to call when a device is removed.
> + */
> +struct scif_peer_driver {
> + struct device_driver driver;
> + const struct scif_peer_dev_id *id_table;
> +
> + int (*probe)(struct scif_peer_dev *dev);
> + void (*remove)(struct scif_peer_dev *dev);
> +};
> +
> +int scif_peer_register_driver(struct scif_peer_driver *driver);
> +void scif_peer_unregister_driver(struct scif_peer_driver *driver);
> +struct scif_dev;
> +struct scif_peer_dev *
> +scif_peer_register_device(struct scif_dev *sdev);
Odd formatting, don't you think?
Please put your "predeclare scif_dev" on an earlier line by itself, as
this is a mess.
thanks,
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/