return cnt;
 }
 
-static struct hv_ops hvc_beat_get_put_ops = {
+static const struct hv_ops hvc_beat_get_put_ops = {
        .get_chars = hvc_beat_get_chars,
        .put_chars = hvc_beat_put_chars,
 };
 
  * console interfaces but can still be used as a tty device.  This has to be
  * static because kmalloc will not work during early console init.
  */
-static struct hv_ops *cons_ops[MAX_NR_HVC_CONSOLES];
+static const struct hv_ops *cons_ops[MAX_NR_HVC_CONSOLES];
 static uint32_t vtermnos[MAX_NR_HVC_CONSOLES] =
        {[0 ... MAX_NR_HVC_CONSOLES - 1] = -1};
 
  * vty adapters do NOT get an hvc_instantiate() callback since they
  * appear after early console init.
  */
-int hvc_instantiate(uint32_t vtermno, int index, struct hv_ops *ops)
+int hvc_instantiate(uint32_t vtermno, int index, const struct hv_ops *ops)
 {
        struct hvc_struct *hp;
 
 };
 
 struct hvc_struct __devinit *hvc_alloc(uint32_t vtermno, int data,
-                                       struct hv_ops *ops, int outbuf_size)
+                                      const struct hv_ops *ops,
+                                      int outbuf_size)
 {
        struct hvc_struct *hp;
        int i;
 
        int outbuf_size;
        int n_outbuf;
        uint32_t vtermno;
-       struct hv_ops *ops;
+       const struct hv_ops *ops;
        int irq_requested;
        int data;
        struct winsize ws;
 };
 
 /* Register a vterm and a slot index for use as a console (console_init) */
-extern int hvc_instantiate(uint32_t vtermno, int index, struct hv_ops *ops);
+extern int hvc_instantiate(uint32_t vtermno, int index,
+                          const struct hv_ops *ops);
 
 /* register a vterm for hvc tty operation (module_init or hotplug add) */
 extern struct hvc_struct * __devinit hvc_alloc(uint32_t vtermno, int data,
-                               struct hv_ops *ops, int outbuf_size);
+                               const struct hv_ops *ops, int outbuf_size);
 /* remove a vterm from hvc tty operation (module_exit or hotplug remove) */
 extern int hvc_remove(struct hvc_struct *hp);
 
 
        return sent;
 }
 
-static struct hv_ops hvc_get_put_ops = {
+static const struct hv_ops hvc_get_put_ops = {
        .get_chars = get_chars,
        .put_chars = put_chars,
        .notifier_add = notifier_add_irq,
 
 
 
 /* HVC operations */
-static struct hv_ops hvc_iucv_ops = {
+static const struct hv_ops hvc_iucv_ops = {
        .get_chars = hvc_iucv_get_chars,
        .put_chars = hvc_iucv_put_chars,
        .notifier_add = hvc_iucv_notifier_add,
 
        return i;
 }
 
-static struct hv_ops hvc_rtas_get_put_ops = {
+static const struct hv_ops hvc_rtas_get_put_ops = {
        .get_chars = hvc_rtas_read_console,
        .put_chars = hvc_rtas_write_console,
 };
 
        return i;
 }
 
-static struct hv_ops hvc_udbg_ops = {
+static const struct hv_ops hvc_udbg_ops = {
        .get_chars = hvc_udbg_get,
        .put_chars = hvc_udbg_put,
 };
 
        return got;
 }
 
-static struct hv_ops hvc_get_put_ops = {
+static const struct hv_ops hvc_get_put_ops = {
        .get_chars = filtered_get_chars,
        .put_chars = hvc_put_chars,
        .notifier_add = notifier_add_irq,
 
        return recv;
 }
 
-static struct hv_ops hvc_ops = {
+static const struct hv_ops hvc_ops = {
        .get_chars = read_console,
        .put_chars = write_console,
        .notifier_add = notifier_add_irq,
 
 }
 
 /* The operations for the console. */
-static struct hv_ops hv_ops = {
+static const struct hv_ops hv_ops = {
        .get_chars = get_chars,
        .put_chars = put_chars,
        .notifier_add = notifier_add_vio,