tty: vt, cleanup and document con_scroll
Scrolling helpers scrup and scrdown both accept 'top' and 'bottom' as unsigned int. Number of lines 'nr' is accepted as int, but all callers pass down unsigned too. So change the type of 'nr' to unsigned too. Now, promote unsigned int from the helpers up to the con_scroll hook which actually accepted all those as signed int. Next, the 'dir' parameter can have only two values and we define constants for that: SM_UP and SM_DOWN. Switch them to enum and do proper type checking on 'dir' too. Finally, document the behaviour of the hook. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: Thomas Winischhofer <thomas@winischhofer.net> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Helge Deller <deller@gmx.de> Cc: <linux-fbdev@vger.kernel.org> Cc: <linux-usb@vger.kernel.org> Cc: <linux-parisc@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
de48b0999d
commit
d705ff3818
@@ -808,9 +808,10 @@ sisusbcon_cursor(struct vc_data *c, int mode)
|
||||
mutex_unlock(&sisusb->lock);
|
||||
}
|
||||
|
||||
static int
|
||||
static bool
|
||||
sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb,
|
||||
int t, int b, int dir, int lines)
|
||||
unsigned int t, unsigned int b, enum con_scroll dir,
|
||||
unsigned int lines)
|
||||
{
|
||||
int cols = sisusb->sisusb_num_columns;
|
||||
int length = ((b - t) * cols) * 2;
|
||||
@@ -852,8 +853,9 @@ sisusbcon_scroll_area(struct vc_data *c, struct sisusb_usb_data *sisusb,
|
||||
}
|
||||
|
||||
/* Interface routine */
|
||||
static int
|
||||
sisusbcon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
|
||||
static bool
|
||||
sisusbcon_scroll(struct vc_data *c, unsigned int t, unsigned int b,
|
||||
enum con_scroll dir, unsigned int lines)
|
||||
{
|
||||
struct sisusb_usb_data *sisusb;
|
||||
u16 eattr = c->vc_video_erase_char;
|
||||
@@ -870,17 +872,17 @@ sisusbcon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
|
||||
*/
|
||||
|
||||
if (!lines)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
sisusb = sisusb_get_sisusb_lock_and_check(c->vc_num);
|
||||
if (!sisusb)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* sisusb->lock is down */
|
||||
|
||||
if (sisusb_is_inactive(c, sisusb)) {
|
||||
mutex_unlock(&sisusb->lock);
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Special case */
|
||||
@@ -971,7 +973,7 @@ sisusbcon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
|
||||
|
||||
mutex_unlock(&sisusb->lock);
|
||||
|
||||
return 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Interface routine */
|
||||
|
Reference in New Issue
Block a user