diff options
Diffstat (limited to 'drivers/auxdisplay/cfag12864b.c')
-rw-r--r-- | drivers/auxdisplay/cfag12864b.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/auxdisplay/cfag12864b.c b/drivers/auxdisplay/cfag12864b.c index 889583dfc1a6..cb44cb4f6a47 100644 --- a/drivers/auxdisplay/cfag12864b.c +++ b/drivers/auxdisplay/cfag12864b.c | |||
@@ -312,6 +312,17 @@ EXPORT_SYMBOL_GPL(cfag12864b_disable); | |||
312 | EXPORT_SYMBOL_GPL(cfag12864b_isenabled); | 312 | EXPORT_SYMBOL_GPL(cfag12864b_isenabled); |
313 | 313 | ||
314 | /* | 314 | /* |
315 | * Is the module inited? | ||
316 | */ | ||
317 | |||
318 | static unsigned char cfag12864b_inited; | ||
319 | unsigned char cfag12864b_isinited(void) | ||
320 | { | ||
321 | return cfag12864b_inited; | ||
322 | } | ||
323 | EXPORT_SYMBOL_GPL(cfag12864b_isinited); | ||
324 | |||
325 | /* | ||
315 | * Module Init & Exit | 326 | * Module Init & Exit |
316 | */ | 327 | */ |
317 | 328 | ||
@@ -319,6 +330,13 @@ static int __init cfag12864b_init(void) | |||
319 | { | 330 | { |
320 | int ret = -EINVAL; | 331 | int ret = -EINVAL; |
321 | 332 | ||
333 | /* ks0108_init() must be called first */ | ||
334 | if (!ks0108_isinited()) { | ||
335 | printk(KERN_ERR CFAG12864B_NAME ": ERROR: " | ||
336 | "ks0108 is not initialized\n"); | ||
337 | goto none; | ||
338 | } | ||
339 | |||
322 | if (PAGE_SIZE < CFAG12864B_SIZE) { | 340 | if (PAGE_SIZE < CFAG12864B_SIZE) { |
323 | printk(KERN_ERR CFAG12864B_NAME ": ERROR: " | 341 | printk(KERN_ERR CFAG12864B_NAME ": ERROR: " |
324 | "page size (%i) < cfag12864b size (%i)\n", | 342 | "page size (%i) < cfag12864b size (%i)\n", |
@@ -354,6 +372,7 @@ static int __init cfag12864b_init(void) | |||
354 | cfag12864b_clear(); | 372 | cfag12864b_clear(); |
355 | cfag12864b_on(); | 373 | cfag12864b_on(); |
356 | 374 | ||
375 | cfag12864b_inited = 1; | ||
357 | return 0; | 376 | return 0; |
358 | 377 | ||
359 | cachealloced: | 378 | cachealloced: |