Re: [patch 2/6] staging: speakup: Add serial_out method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So I sent a lot of mails :)

A lot of them are asking to add yet more methods.  I'm starting thinking
that it's tedious to change that in each and every driver, which is kind
of dumb anyway since it's just the same everywhere.

So I'd say before doing all that stuff, rework what we thought about
adding methods: instead of adding spk_serial_out directly in struct
spk_synth

- in spk_types.h, just before struct spk_synth, define

struct spk_io_ops {
	int (*serial_out)(struct spk_synth *synth, const char ch);
}

- in struct spk_synth, add

	struct spk_io_ops *io_ops;

- in serialio.c, add

	struct spk_io_ops spk_serial_io_ops {
		.serial_out = spk_serial_out,
	}

- in ttyio.c, add

	struct spk_io_ops spk_ttyio_io_ops {
		.serial_out = spk_ttyio_serial_out,
	}

- and in drivers, instead of defining

	.serial_out = spk_serial_out

rather define

	.io_ops = &spk_serial_io_ops


And then you can add the serial_in, serial_in_nowait, tiocmset,
send_xchar methods to spk_io_ops instead of spk_synth, thus making
switching between serial and tty much less tedious.

Note: we need to keep probe, release, and synth_immediate as spk_synth
methods since they vary among synth drivers.

Samuel
_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux