follower
if(dist(mtmp->mx,mtmp->my) < 3 && follower(mtmp)
int follower(struct monst *);
struct drm_panel_follower *follower;
list_for_each_entry(follower, &panel->followers, list) {
if (!follower->funcs->panel_prepared)
ret = follower->funcs->panel_prepared(follower);
follower->funcs->panel_prepared, ret);
struct drm_panel_follower *follower;
list_for_each_entry(follower, &panel->followers, list) {
if (!follower->funcs->panel_unpreparing)
ret = follower->funcs->panel_unpreparing(follower);
follower->funcs->panel_unpreparing, ret);
struct drm_panel_follower *follower;
list_for_each_entry(follower, &panel->followers, list) {
if (!follower->funcs->panel_enabled)
ret = follower->funcs->panel_enabled(follower);
follower->funcs->panel_enabled, ret);
struct drm_panel_follower *follower;
list_for_each_entry(follower, &panel->followers, list) {
if (!follower->funcs->panel_disabling)
ret = follower->funcs->panel_disabling(follower);
follower->funcs->panel_disabling, ret);
struct drm_panel_follower *follower)
follower->panel = panel;
list_add_tail(&follower->list, &panel->followers);
if (panel->prepared && follower->funcs->panel_prepared) {
ret = follower->funcs->panel_prepared(follower);
follower->funcs->panel_prepared, ret);
if (panel->enabled && follower->funcs->panel_enabled) {
ret = follower->funcs->panel_enabled(follower);
follower->funcs->panel_enabled, ret);
void drm_panel_remove_follower(struct drm_panel_follower *follower)
struct drm_panel *panel = follower->panel;
if (panel->enabled && follower->funcs->panel_disabling) {
ret = follower->funcs->panel_disabling(follower);
follower->funcs->panel_disabling, ret);
if (panel->prepared && follower->funcs->panel_unpreparing) {
ret = follower->funcs->panel_unpreparing(follower);
follower->funcs->panel_unpreparing, ret);
list_del_init(&follower->list);
static void drm_panel_remove_follower_void(void *follower)
drm_panel_remove_follower(follower);
struct drm_panel_follower *follower)
ret = drm_panel_add_follower(follower_dev, follower);
drm_panel_remove_follower_void, follower);
int (*panel_prepared)(struct drm_panel_follower *follower);
int (*panel_unpreparing)(struct drm_panel_follower *follower);
int (*panel_enabled)(struct drm_panel_follower *follower);
int (*panel_disabling)(struct drm_panel_follower *follower);
struct drm_panel_follower *follower);
void drm_panel_remove_follower(struct drm_panel_follower *follower);
struct drm_panel_follower *follower);
struct drm_panel_follower *follower)
static inline void drm_panel_remove_follower(struct drm_panel_follower *follower) { }
struct drm_panel_follower *follower)