[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Export functions to allow any module to perform primitive op
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: [PATCH] Export functions to allow any module to perform primitive operations on serial port devices |
Date: |
Thu, 10 Nov 2011 09:42:11 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20111010 Iceowl/1.0b2 Icedove/3.1.15 |
On 07.11.2011 22:13, Shea Levy wrote:
> Hello,
>
> On Thu, Oct 27, 2011 at 2:31 PM, Shea Levy <address@hidden> wrote:
>> Hello all,
>>
>> These two commits make it straightforward for any module to interact
>> with serial devices. The essential change is making grub_serial_find
>> non-static and declaring it in serial.h, but I also added some inline
>> convenience functions so you can call grub_serial_port_whatever(port,
>> other-args) instead of port -> driver -> whatever(port, other-args).
>>
>> Cheers,
>> Shea Levy
>>
> I've updated the patch to include a ChangeLog and to fix problems with tabs.
ChangeLog entry wasn't following convention and indentation was all
wrong. I've fix it this time but I won't do it next one.
> Cheers,
> Shea Levy
>
>
> # Bazaar merge directive format 2 (Bazaar 0.90)
> # revision_id: address@hidden
> # target_branch: http://bzr.savannah.gnu.org/r/grub/trunk/grub/
> # testament_sha1: 4ed3bc7da4813bab2e805390b044ff612e9fc869
> # timestamp: 2011-11-07 16:09:33 -0500
> # base_revision_id: address@hidden
> #
> # Begin patch
> === modified file 'ChangeLog'
> --- ChangeLog 2011-10-27 01:04:27 +0000
> +++ ChangeLog 2011-11-07 21:02:52 +0000
> @@ -1,3 +1,12 @@
> +2011-11-07 Shea Levy <address@hidden>
> +
> + Allow all modules to perform serial IO
> +
> + * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
> + * include/grub/serial.h: Add grub_serial_find() prototype
> + Add inlined grub_serial_port_* functions corresponding to each of the
> + functions in struct grub_serial_driver
> +
> 2011-10-26 Vladimir Serbinenko <address@hidden>
>
> Support NTFS reparse points.
> === modified file 'grub-core/term/serial.c'
> --- grub-core/term/serial.c 2011-10-14 17:16:37 +0000
> +++ grub-core/term/serial.c 2011-10-27 17:14:47 +0000
> @@ -125,7 +125,7 @@
>
>
>
> -static struct grub_serial_port *
> +struct grub_serial_port *
> grub_serial_find (char *name)
> {
> struct grub_serial_port *port;
> === modified file 'include/grub/serial.h'
> --- include/grub/serial.h 2011-02-19 12:18:05 +0000
> +++ include/grub/serial.h 2011-11-07 20:55:49 +0000
> @@ -96,6 +96,29 @@
>
> void EXPORT_FUNC(grub_serial_unregister) (struct grub_serial_port *port);
>
> + /* Convenience functions to perform primitive operations on a port. */
> +static inline grub_err_t grub_serial_port_configure
> + (struct grub_serial_port *port, struct grub_serial_config *config)
> +{
> + return port->driver->configure (port, config);
> +}
> +
> +static inline int grub_serial_port_fetch (struct grub_serial_port *port)
> +{
> + return port->driver->fetch (port);
> +}
> +
> +static inline void grub_serial_port_put (struct grub_serial_port *port,
> + const int c)
> +{
> + port->driver->put (port, c);
> +}
> +
> +static inline void grub_serial_port_fini (struct grub_serial_port *port)
> +{
> + port->driver->fini (port);
> +}
> +
> /* Set default settings. */
> static inline grub_err_t
> grub_serial_config_defaults (struct grub_serial_port *port)
> @@ -117,6 +140,7 @@
>
> void grub_ns8250_init (void);
> char *grub_serial_ns8250_add_port (grub_port_t port);
> +struct grub_serial_port *grub_serial_find (char *name);
> extern struct grub_serial_driver grub_ns8250_driver;
> void EXPORT_FUNC(grub_serial_unregister_driver) (struct
> grub_serial_driver *driver);
>
> # Begin bundle
> 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
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature