grub-devel
[Top][All Lists]
Advanced

[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: Shea Levy
Subject: Re: [PATCH] Export functions to allow any module to perform primitive operations on serial port devices
Date: Mon, 7 Nov 2011 16:13:13 -0500

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.
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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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]