All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: "rob.herring@linaro.org" <rob.herring@linaro.org>,
	"arnd@arndb.de" <arnd@arndb.de>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"linux-serial@vger.kernel.org" <linux-serial@vger.kernel.org>,
	"jslaby@suse.cz" <jslaby@suse.cz>,
	Dave P Martin <Dave.Martin@arm.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v2 10/10] drivers: PL011: add support for the ARM SBSA generic UART
Date: Thu, 12 Mar 2015 13:43:17 +0000	[thread overview]
Message-ID: <550197F5.1020107@arm.com> (raw)
In-Reply-To: <20150312105210.GK8656@n2100.arm.linux.org.uk>

Hi Russel,

thanks a lot for looking at the patches!

On 12/03/15 10:52, Russell King - ARM Linux wrote:
> On Wed, Mar 04, 2015 at 05:59:54PM +0000, Andre Przywara wrote:
>> +static struct uart_ops sbsa_uart_pops = {
>> +	.tx_empty	= pl011_tx_empty,
>> +	.set_mctrl	= sbsa_uart_set_mctrl,
>> +	.get_mctrl	= sbsa_uart_get_mctrl,
>> +	.stop_tx	= pl011_stop_tx,
>> +	.start_tx	= pl011_start_tx,
>> +	.stop_rx	= pl011_stop_rx,
>> +	.enable_ms	= NULL,
>> +	.break_ctl	= NULL,
> 
> It is generally accepted that we don't mention pointers/values which are
> initialised to NULL/0 in initialisers.

Right, I forgot to delete those after development where I had them in
explicitly to make sure I covered everything.
Thanks for spotting.

> 
>> +static struct platform_driver arm_sbsa_uart_platform_driver = {
>> +	.probe		= sbsa_uart_probe,
>> +	.remove		= sbsa_uart_remove,
>> +	.driver	= {
>> +		.name	= "sbsa-uart",
>> +		.of_match_table = of_match_ptr(sbsa_uart_match),
>> +	},
>> +};
>> +
>> +module_platform_driver(arm_sbsa_uart_platform_driver);
> 
> No need to open code the initialisation, rather than using the
> module_*_driver() helper macros to avoid the problem which Dave mentioned.
> 
> These macros are only there to avoid having to write out the same boiler
> plate in loads of simple drivers.  As soon as a driver has more than one
> device driver structure in it, it needs to be open coded.

Actually I prepared this already for the ACPI guys, which want to stuff
their ACPI table match function in there - I think then we need the open
coded version. So if you don't mind too much, I'd like to keep it like
this and hope for someone to actually use it ;-)

Cheers,
Andre.

WARNING: multiple messages have this Message-ID (diff)
From: andre.przywara@arm.com (Andre Przywara)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 10/10] drivers: PL011: add support for the ARM SBSA generic UART
Date: Thu, 12 Mar 2015 13:43:17 +0000	[thread overview]
Message-ID: <550197F5.1020107@arm.com> (raw)
In-Reply-To: <20150312105210.GK8656@n2100.arm.linux.org.uk>

Hi Russel,

thanks a lot for looking at the patches!

On 12/03/15 10:52, Russell King - ARM Linux wrote:
> On Wed, Mar 04, 2015 at 05:59:54PM +0000, Andre Przywara wrote:
>> +static struct uart_ops sbsa_uart_pops = {
>> +	.tx_empty	= pl011_tx_empty,
>> +	.set_mctrl	= sbsa_uart_set_mctrl,
>> +	.get_mctrl	= sbsa_uart_get_mctrl,
>> +	.stop_tx	= pl011_stop_tx,
>> +	.start_tx	= pl011_start_tx,
>> +	.stop_rx	= pl011_stop_rx,
>> +	.enable_ms	= NULL,
>> +	.break_ctl	= NULL,
> 
> It is generally accepted that we don't mention pointers/values which are
> initialised to NULL/0 in initialisers.

Right, I forgot to delete those after development where I had them in
explicitly to make sure I covered everything.
Thanks for spotting.

> 
>> +static struct platform_driver arm_sbsa_uart_platform_driver = {
>> +	.probe		= sbsa_uart_probe,
>> +	.remove		= sbsa_uart_remove,
>> +	.driver	= {
>> +		.name	= "sbsa-uart",
>> +		.of_match_table = of_match_ptr(sbsa_uart_match),
>> +	},
>> +};
>> +
>> +module_platform_driver(arm_sbsa_uart_platform_driver);
> 
> No need to open code the initialisation, rather than using the
> module_*_driver() helper macros to avoid the problem which Dave mentioned.
> 
> These macros are only there to avoid having to write out the same boiler
> plate in loads of simple drivers.  As soon as a driver has more than one
> device driver structure in it, it needs to be open coded.

Actually I prepared this already for the ACPI guys, which want to stuff
their ACPI table match function in there - I think then we need the open
coded version. So if you don't mind too much, I'd like to keep it like
this and hope for someone to actually use it ;-)

Cheers,
Andre.

  reply	other threads:[~2015-03-12 13:43 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-04 17:59 [PATCH v2 00/10] drivers: PL011: add ARM SBSA Generic UART support Andre Przywara
2015-03-04 17:59 ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 01/10] drivers: PL011: avoid potential unregister_driver call Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-12 10:42   ` Russell King - ARM Linux
2015-03-12 10:42     ` Russell King - ARM Linux
2015-04-08 15:39     ` Andre Przywara
2015-04-08 15:39       ` Andre Przywara
2015-04-08 18:14       ` Russell King - ARM Linux
2015-04-08 18:14         ` Russell King - ARM Linux
2015-03-04 17:59 ` [PATCH v2 02/10] drivers: PL011: refactor pl011_startup() Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 03/10] drivers: PL011: refactor pl011_shutdown() Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 04/10] drivers: PL011: refactor pl011_set_termios() Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 05/10] drivers: PL011: refactor pl011_probe() Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 06/10] drivers: PL011: replace UART_MIS reading with _RIS & _IMSC Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-12 10:46   ` Russell King - ARM Linux
2015-03-12 10:46     ` Russell King - ARM Linux
2015-03-04 17:59 ` [PATCH v2 07/10] drivers: PL011: move cts_event workaround into separate function Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-07  3:00   ` Greg KH
2015-03-07  3:00     ` Greg KH
2015-03-04 17:59 ` [PATCH v2 08/10] drivers: PL011: allow avoiding UART enabling/disabling Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 09/10] drivers: PL011: allow to supply fixed option string Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-04 17:59 ` [PATCH v2 10/10] drivers: PL011: add support for the ARM SBSA generic UART Andre Przywara
2015-03-04 17:59   ` Andre Przywara
2015-03-09 15:59   ` Dave Martin
2015-03-09 15:59     ` Dave Martin
2015-03-12 10:52   ` Russell King - ARM Linux
2015-03-12 10:52     ` Russell King - ARM Linux
2015-03-12 13:43     ` Andre Przywara [this message]
2015-03-12 13:43       ` Andre Przywara
2015-03-12 13:49       ` Russell King - ARM Linux
2015-03-12 13:49         ` Russell King - ARM Linux
2015-03-12 13:58         ` Andre Przywara
2015-03-12 13:58           ` Andre Przywara
2015-03-07  3:01 ` [PATCH v2 00/10] drivers: PL011: add ARM SBSA Generic UART support Greg KH
2015-03-07  3:01   ` Greg KH

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=550197F5.1020107@arm.com \
    --to=andre.przywara@arm.com \
    --cc=Dave.Martin@arm.com \
    --cc=arnd@arndb.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jslaby@suse.cz \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@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.