Subversion Repositories Kolibri OS

Rev

Rev 3120 | Rev 3263 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3120 Rev 3243
Line 366... Line 366...
366
    safe_sti(ifl);
366
    safe_sti(ifl);
367
 
367
 
Line 368... Line 368...
368
    main_device = dev;
368
    main_device = dev;
Line -... Line 369...
-
 
369
 
369
 
370
#ifdef __HWA__
-
 
371
    err = init_bitmaps();
Line 370... Line 372...
370
    err = init_bitmaps();
372
#endif
371
 
373
 
Line 622... Line 624...
622
};
624
};
623
 
625
 
Line 624... Line 626...
624
 
626
 
Line 625... Line 627...
625
 
627
 
Line 626... Line 628...
626
 
628
#ifdef __HWA__
Line 1310... Line 1312...
1310
 
1312
 
Line 1311... Line 1313...
1311
#endif
1313
#endif
Line 1312... Line 1314...
1312
 
1314
 
1313
 
1315
 
1314
 
1316
#endif
Line 1315... Line 1317...
1315
 
1317
 
1316
 
1318
 
Line 1317... Line 1319...
1317
 
1319
 
Line 1318... Line 1320...
1318
 
1320
 
1319
 
1321
 
1320
void __stdcall run_workqueue(struct workqueue_struct *cwq)
1322
void __stdcall run_workqueue(struct workqueue_struct *cwq)
1321
{
1323
{
1322
    unsigned long irqflags;
1324
    unsigned long irqflags;
1323
 
1325
 
1324
//    dbgprintf("wq: %x head %x, next %x\n",
1326
    dbgprintf("wq: %x head %x, next %x\n",
1325
//               cwq, &cwq->worklist, cwq->worklist.next);
1327
               cwq, &cwq->worklist, cwq->worklist.next);
Line 1326... Line 1328...
1326
 
1328
 
1327
    spin_lock_irqsave(&cwq->lock, irqflags);
1329
    spin_lock_irqsave(&cwq->lock, irqflags);
1328
 
1330
 
1329
    while (!list_empty(&cwq->worklist))
1331
    while (!list_empty(&cwq->worklist))
Line 1349... Line 1351...
1349
                         struct work_struct *work)
1351
                         struct work_struct *work)
1350
{
1352
{
1351
    unsigned long flags;
1353
    unsigned long flags;
1352
 
1354
 
Line 1353... Line 1355...
1353
//    dbgprintf("wq: %x, work: %x\n",
1355
    dbgprintf("wq: %x, work: %x\n",
1354
//               wq, work );
1356
               wq, work );
Line 1355... Line 1357...
1355
 
1357
 
1356
    if(!list_empty(&work->entry))
1358
    if(!list_empty(&work->entry))
Line 1357... Line 1359...
1357
        return 0;
1359
        return 0;
Line 1363... Line 1365...
1363
 
1365
 
Line 1364... Line 1366...
1364
    list_add_tail(&work->entry, &wq->worklist);
1366
    list_add_tail(&work->entry, &wq->worklist);
Line 1365... Line 1367...
1365
 
1367
 
1366
    spin_unlock_irqrestore(&wq->lock, flags);
1368
    spin_unlock_irqrestore(&wq->lock, flags);
1367
//    dbgprintf("wq: %x head %x, next %x\n",
1369
   dbgprintf("wq: %x head %x, next %x\n",
Line 1368... Line 1370...
1368
//               wq, &wq->worklist, wq->worklist.next);
1370
               wq, &wq->worklist, wq->worklist.next);
1369
 
1371
 
Line 1370... Line 1372...
1370
    return 1;
1372
    return 1;
1371
};
1373
};
1372
 
1374
 
1373
void __stdcall delayed_work_timer_fn(unsigned long __data)
1375
void __stdcall delayed_work_timer_fn(unsigned long __data)
Line 1374... Line 1376...
1374
{
1376
{
1375
    struct delayed_work *dwork = (struct delayed_work *)__data;
1377
    struct delayed_work *dwork = (struct delayed_work *)__data;
Line 1376... Line 1378...
1376
    struct workqueue_struct *wq = dwork->work.data;
1378
    struct workqueue_struct *wq = dwork->work.data;
1377
 
1379
 
Line 1396... Line 1398...
1396
                        struct delayed_work *dwork, unsigned long delay)
1398
                        struct delayed_work *dwork, unsigned long delay)
1397
{
1399
{
1398
    u32  flags;
1400
    u32  flags;
1399
 
1401
 
Line 1400... Line 1402...
1400
//    dbgprintf("wq: %x, work: %x\n",
1402
   dbgprintf("wq: %x, work: %x\n",
1401
//               wq, &dwork->work );
1403
               wq, &dwork->work );
Line 1402... Line 1404...
1402
 
1404
 
1403
    if (delay == 0)
1405
    if (delay == 0)
Line 1404... Line 1406...
1404
        return __queue_work(wq, &dwork->work);
1406
        return __queue_work(wq, &dwork->work);