All of lore.kernel.org
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: Xinwei Kong <kong.kongxinwei@hisilicon.com>,
	James.Bottomley@HansenPartnership.com
Cc: devicetree@vger.kernel.org, arnd@arndb.de,
	linux-scsi@vger.kernel.org, john.garry2@mail.dcu.ie,
	linuxarm@huawei.com, linux-kernel@vger.kernel.com, hare@suse.de,
	zhangfei.gao@linaro.org
Subject: Re: [PATCH 03/25] scsi: hisi_sas: add initial bare driver
Date: Thu, 15 Oct 2015 10:23:08 +0100	[thread overview]
Message-ID: <561F707C.1070305@huawei.com> (raw)
In-Reply-To: <561F68A9.6090706@hisilicon.com>

On 15/10/2015 09:49, Xinwei Kong wrote:
>
>
> On 2015/10/12 23:20, John Garry wrote:
>> This patch adds the initial bare driver for the HiSilicon
>> SAS HBA. The driver includes no HW interaction, but only
>> the changes to build and load the driver module.
>>
>> The HBA is a platform device.
>>
>> Signed-off-by: John Garry <john.garry@huawei.com>
>> ---
>>   drivers/scsi/Kconfig                  |  1 +
>>   drivers/scsi/Makefile                 |  1 +
>>   drivers/scsi/hisi_sas/Kconfig         |  5 +++
>>   drivers/scsi/hisi_sas/Makefile        |  2 ++
>>   drivers/scsi/hisi_sas/hisi_sas.h      | 24 +++++++++++++++
>>   drivers/scsi/hisi_sas/hisi_sas_init.c | 58 +++++++++++++++++++++++++++++++++++
>>   6 files changed, 91 insertions(+)
>>   create mode 100644 drivers/scsi/hisi_sas/Kconfig
>>   create mode 100644 drivers/scsi/hisi_sas/Makefile
>>   create mode 100644 drivers/scsi/hisi_sas/hisi_sas.h
>>   create mode 100644 drivers/scsi/hisi_sas/hisi_sas_init.c
>>
>> diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
>> index 95f7a76..5c345f9 100644
>> --- a/drivers/scsi/Kconfig
>> +++ b/drivers/scsi/Kconfig
>> @@ -1774,5 +1774,6 @@ source "drivers/scsi/pcmcia/Kconfig"
>>   source "drivers/scsi/device_handler/Kconfig"
>>
>>   source "drivers/scsi/osd/Kconfig"
>> +source "drivers/scsi/hisi_sas/Kconfig"
>>
>>   endmenu
>> diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
>> index 1a8c9b5..03c30de 100644
>> --- a/drivers/scsi/Makefile
>> +++ b/drivers/scsi/Makefile
>> @@ -158,6 +158,7 @@ obj-$(CONFIG_CHR_DEV_SCH)	+= ch.o
>>   obj-$(CONFIG_SCSI_ENCLOSURE)	+= ses.o
>>
>>   obj-$(CONFIG_SCSI_OSD_INITIATOR) += osd/
>> +obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas/
>>
>>   # This goes last, so that "real" scsi devices probe earlier
>>   obj-$(CONFIG_SCSI_DEBUG)	+= scsi_debug.o
>> diff --git a/drivers/scsi/hisi_sas/Kconfig b/drivers/scsi/hisi_sas/Kconfig
>> new file mode 100644
>> index 0000000..a7f47a2
>> --- /dev/null
>> +++ b/drivers/scsi/hisi_sas/Kconfig
>> @@ -0,0 +1,5 @@
>> +config SCSI_HISI_SAS
>> +	tristate "HiSilicon SAS"
>> +	select SCSI_SAS_LIBSAS
>> +	help
>> +		This driver supports HiSilicon's SAS HBA
>> diff --git a/drivers/scsi/hisi_sas/Makefile b/drivers/scsi/hisi_sas/Makefile
>> new file mode 100644
>> index 0000000..63c3c4d
>> --- /dev/null
>> +++ b/drivers/scsi/hisi_sas/Makefile
>> @@ -0,0 +1,2 @@
>> +obj-$(CONFIG_SCSI_HISI_SAS) += hisi_sas.o
>> +hisi_sas-y+= hisi_sas_init.o
>> diff --git a/drivers/scsi/hisi_sas/hisi_sas.h b/drivers/scsi/hisi_sas/hisi_sas.h
>> new file mode 100644
>> index 0000000..50204a2
>> --- /dev/null
>> +++ b/drivers/scsi/hisi_sas/hisi_sas.h
>> @@ -0,0 +1,24 @@
>> +/*
>> + * Copyright (c) 2015 Linaro Ltd.
>> + * Copyright (c) 2015 Hisilicon Limited.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + */
>> +
>> +#ifndef _HISI_SAS_H_
>> +#define _HISI_SAS_H_
>> +
>> +#include <linux/module.h>
>> +#include <linux/of_address.h>
>> +#include <linux/of_irq.h>
>> +#include <linux/platform_device.h>
>> +#include <scsi/libsas.h>
>> +
> why place some "include" head in .h file rather than .c file?
This is private header within the module, which:
- makes the code more concise
- relocate functions within c files is cleaner
- easier to change the kernel APIs we use in the module

>> +#define DRV_NAME "hisi_sas"
>> +#define DRV_VERSION "v1.0"
>> +
>> +#endif
>> diff --git a/drivers/scsi/hisi_sas/hisi_sas_init.c b/drivers/scsi/hisi_sas/hisi_sas_init.c
>> new file mode 100644
>> index 0000000..dd83430
>> --- /dev/null
>> +++ b/drivers/scsi/hisi_sas/hisi_sas_init.c
>> @@ -0,0 +1,58 @@
>> +/*
>> + * Copyright (c) 2015 Linaro Ltd.
>> + * Copyright (c) 2015 Hisilicon Limited.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + */
>> +
>> +#include "hisi_sas.h"
>> +
>> +static const struct of_device_id sas_of_match[] = {
>> +	{ .compatible = "hisilicon,sas-controller-v1",},
>> +	{},
>> +};
>> +MODULE_DEVICE_TABLE(of, sas_of_match);
>> +static int hisi_sas_probe(struct platform_device *pdev)
>> +{
>> +
>> +	return 0;
>> +}
>> +
>> +static int hisi_sas_remove(struct platform_device *pdev)
>> +{
>> +	return 0;
>> +}
>> +
>> +static struct platform_driver hisi_sas_driver = {
>> +	.probe = hisi_sas_probe,
>> +	.remove = hisi_sas_remove,
>> +	.driver = {
>> +		.name = DRV_NAME,
>> +		.of_match_table = sas_of_match,
>> +	},
>> +};
>> +
>> +static __init int hisi_sas_init(void)
>> +{
>> +	pr_info("hisi_sas: driver version %s\n", DRV_VERSION);
>> +
>> +	return platform_driver_register(&hisi_sas_driver);
>> +}
>> +
>> +static __exit void hisi_sas_exit(void)
>> +{
>> +	platform_driver_unregister(&hisi_sas_driver);
>> +}
>> +
>> +module_init(hisi_sas_init);
>> +module_exit(hisi_sas_exit);
>> +
>> +MODULE_VERSION(DRV_VERSION);
>> +MODULE_LICENSE("GPL");
> V2
Can add. We do say in the header that it is v2.

>> +MODULE_AUTHOR("John Garry <john.garry@huawei.com>");
>> +MODULE_DESCRIPTION("HISILICON SAS controller driver");
>> +MODULE_ALIAS("platform:" DRV_NAME);
>>
>
>
> .
>

thanks,
John



  reply	other threads:[~2015-10-15  9:23 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-12 15:20 [PATCH 00/25] HiSilicon SAS driver John Garry
2015-10-12 15:20 ` [PATCH 02/25] devicetree: bindings: scsi: HiSi SAS John Garry
2015-10-16 13:47   ` Rob Herring
     [not found]     ` <CAL_JsqLk9p_YX2FCNiR4sOSU74asN0UrOSJ5gQfnyRhrFH8LgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-19 10:48       ` John Garry
2015-10-19 14:51         ` zhangfei
2015-10-12 15:20 ` [PATCH 03/25] scsi: hisi_sas: add initial bare driver John Garry
     [not found]   ` <1444663237-238302-4-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-15  8:49     ` Xinwei Kong
2015-10-15  9:23       ` John Garry [this message]
2015-10-15  9:28         ` zhangfei
     [not found]         ` <561F707C.1070305-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-15 12:07           ` Xinwei Kong
2015-10-12 15:20 ` [PATCH 04/25] scsi: hisi_sas: add scsi host registration John Garry
2015-10-12 15:21   ` Arnd Bergmann
2015-10-12 15:21     ` Arnd Bergmann
2015-10-13  9:16     ` John Garry
2015-10-13  9:16       ` John Garry
2015-10-13 12:18       ` Arnd Bergmann
2015-10-12 15:20 ` [PATCH 07/25] scsi: hisi_sas: add ioremap for device HW John Garry
2015-10-12 15:21   ` Arnd Bergmann
2015-10-13  9:47     ` zhangfei
2015-10-13  9:47       ` zhangfei
2015-10-13 12:20       ` Arnd Bergmann
2015-10-13 12:20         ` Arnd Bergmann
2015-10-13 15:09         ` zhangfei
2015-10-12 17:18   ` [RFC PATCH] scsi: hisi_sas: hisi_sas_ioremap() can be static kbuild test robot
2015-10-12 17:18   ` [PATCH 07/25] scsi: hisi_sas: add ioremap for device HW kbuild test robot
2015-10-12 15:20 ` [PATCH 08/25] scsi: hisi_sas: add cq structure initialization John Garry
2015-10-12 15:20 ` [PATCH 10/25] scsi: hisi_sas: add misc HBA initialization John Garry
2015-10-12 21:44   ` kbuild test robot
2015-10-12 15:20 ` [PATCH 12/25] scsi: hisi_sas: add v1 HW initialisation code John Garry
2015-10-12 18:46   ` Arnd Bergmann
2015-10-13 12:44     ` John Garry
2015-10-13 12:44       ` John Garry
2015-10-13 12:47       ` Arnd Bergmann
2015-10-12 15:20 ` [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework John Garry
2015-10-12 22:03   ` kbuild test robot
2015-10-13  0:27     ` Julian Calaby
2015-10-13  0:40       ` [lkp] " Fengguang Wu
2015-10-12 22:03   ` [RFC PATCH] scsi: hisi_sas: hisi_sas_bytes_dmaed() can be static kbuild test robot
2015-10-16 12:55   ` [PATCH 13/25] scsi: hisi_sas: add path from phyup irq to SAS framework Arnd Bergmann
2015-10-16 13:29     ` John Garry
2015-10-16 13:29       ` John Garry
2015-10-16 13:36       ` Arnd Bergmann
2015-10-19 14:11         ` John Garry
2015-10-19 14:11           ` John Garry
2015-10-19 14:26           ` Arnd Bergmann
2015-10-19 14:55             ` John Garry
2015-10-19 14:55               ` John Garry
2015-10-20  8:40               ` Arnd Bergmann
2015-10-20  9:09                 ` John Garry
2015-10-20  9:09                   ` John Garry
     [not found] ` <1444663237-238302-1-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-12 15:20   ` [PATCH 01/25] [SCSI] sas: centralise ssp frame information units John Garry
2015-10-12 15:20   ` [PATCH 05/25] scsi: hisi_sas: allocate memories and create pools John Garry
2015-10-12 15:15     ` Arnd Bergmann
2015-10-12 15:15       ` Arnd Bergmann
2015-10-13  9:42       ` zhangfei
     [not found]     ` <1444663237-238302-6-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-13  1:05       ` kbuild test robot
2015-10-12 15:20   ` [PATCH 06/25] scsi: hisi_sas: add slot init code John Garry
2015-10-12 15:20   ` [PATCH 09/25] scsi: hisi_sas: add phy SAS ADDR initialization John Garry
2015-10-13  6:12     ` Hannes Reinecke
     [not found]       ` <561CA0CB.5090802-l3A5Bk7waGM@public.gmane.org>
2015-10-13 17:14         ` John Garry
2015-10-14  8:40           ` Hannes Reinecke
     [not found]             ` <561E1501.2070507-l3A5Bk7waGM@public.gmane.org>
2015-10-14 15:05               ` John Garry
2015-10-14 15:18                 ` Arnd Bergmann
2015-10-15  3:36                   ` zhangfei
2015-10-15  8:43                     ` Arnd Bergmann
2015-10-12 15:20   ` [PATCH 11/25] scsi: hisi_sas: add v1 hardware register definitions John Garry
2015-10-12 15:20   ` [PATCH 14/25] scsi: hisi_sas: add ssp command function John Garry
2015-10-13  1:24     ` kbuild test robot
2015-10-12 15:20   ` [PATCH 20/25] scsi: hisi_sas: add smp protocol support John Garry
2015-10-12 15:20   ` [PATCH 22/25] scsi: hisi_sas: add tmf methods John Garry
2015-10-12 23:02     ` kbuild test robot
     [not found]       ` <1444663237-238302-23-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-12 23:02         ` [RFC PATCH] scsi: hisi_sas: hisi_sas_find_dev_phyno() can be static kbuild test robot
2015-10-12 15:20   ` [PATCH 23/25] scsi: hisi_sas: add control phy handler John Garry
2015-10-12 15:20 ` [PATCH 15/25] scsi: hisi_sas: add cq interrupt handler John Garry
2015-10-12 22:15   ` kbuild test robot
2015-10-12 15:20 ` [PATCH 16/25] scsi: hisi_sas: add dev_found and port_formed John Garry
2015-10-12 22:35   ` [RFC PATCH] scsi: hisi_sas: hisi_sas_alloc_dev() can be static kbuild test robot
2015-10-12 22:35   ` [PATCH 16/25] scsi: hisi_sas: add dev_found and port_formed kbuild test robot
2015-10-12 15:20 ` [PATCH 17/25] scsi: hisi_sas: add abnormal irq handler John Garry
2015-10-12 15:20 ` [PATCH 18/25] scsi: hisi_sas: add dev_gone and port_deformed John Garry
     [not found]   ` <1444663237-238302-19-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-10-12 22:49     ` kbuild test robot
2015-10-12 22:49   ` [RFC PATCH] scsi: hisi_sas: hisi_sas_do_release_task() can be static kbuild test robot
2015-10-12 15:20 ` [PATCH 19/25] scsi: hisi_sas: add bcast interrupt handler John Garry
2015-10-12 15:20 ` [PATCH 21/25] scsi: hisi_sas: add scan finished and start John Garry
2015-10-12 15:20 ` [PATCH 24/25] scsi: hisi_sas: add fatal irq handler John Garry
2015-10-12 15:20 ` [PATCH 25/25] MAINTAINERS: add maintainer for HiSi SAS driver John Garry
2015-10-19  8:47 ` [PATCH 00/25] HiSilicon " John Garry
2015-10-19  8:47   ` John Garry
2015-10-19  8:55   ` Hannes Reinecke
2015-10-19 10:40     ` John Garry
2015-10-19 10:40       ` John Garry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=561F707C.1070305@huawei.com \
    --to=john.garry@huawei.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=hare@suse.de \
    --cc=john.garry2@mail.dcu.ie \
    --cc=kong.kongxinwei@hisilicon.com \
    --cc=linux-kernel@vger.kernel.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=zhangfei.gao@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.